diff --git a/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseImportFromFileService.java b/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseImportFromFileService.java index b32a72fbbc0b..5a7362822d2a 100644 --- a/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseImportFromFileService.java +++ b/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseImportFromFileService.java @@ -107,7 +107,7 @@ public ProgrammingExercise importProgrammingExerciseFromFile(ProgrammingExercise var oldShortName = getProgrammingExerciseFromDetailsFile(importExerciseDir).getShortName(); programmingExerciseService.validateNewProgrammingExerciseSettings(originalProgrammingExercise, course); // TODO: creating the whole exercise (from template) is a bad solution in this case, we do not want the template content, instead we want the file content of the zip - newProgrammingExercise = programmingExerciseService.createProgrammingExercise(originalProgrammingExercise, true); + newProgrammingExercise = programmingExerciseService.createProgrammingExercise(originalProgrammingExercise); if (Boolean.TRUE.equals(originalProgrammingExercise.isStaticCodeAnalysisEnabled())) { staticCodeAnalysisService.createDefaultCategories(newProgrammingExercise); } diff --git a/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseImportService.java b/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseImportService.java index 8e049963a70a..7ed25cc01116 100644 --- a/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseImportService.java +++ b/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseImportService.java @@ -315,7 +315,7 @@ public ProgrammingExercise importProgrammingExercise(ProgrammingExercise origina if (recreateBuildPlans) { // Create completely new build plans for the exercise - programmingExerciseService.setupBuildPlansForNewExercise(newProgrammingExercise, false); + programmingExerciseService.setupBuildPlansForNewExercise(newProgrammingExercise); } else { // We have removed the automatic build trigger from test to base for new programming exercises. diff --git a/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseService.java b/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseService.java index 7db51a95d51d..230695ca1d80 100644 --- a/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseService.java +++ b/src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseService.java @@ -272,12 +272,11 @@ public ProgrammingExerciseService(ProgrammingExerciseRepository programmingExerc * * * @param programmingExercise The programmingExercise that should be setup - * @param isImportedFromFile defines if the programming exercise is imported from a file * @return The new setup exercise * @throws GitAPIException If something during the communication with the remote Git repository went wrong * @throws IOException If the template files couldn't be read */ - public ProgrammingExercise createProgrammingExercise(ProgrammingExercise programmingExercise, boolean isImportedFromFile) throws GitAPIException, IOException { + public ProgrammingExercise createProgrammingExercise(ProgrammingExercise programmingExercise) throws GitAPIException, IOException { final User exerciseCreator = userRepository.getUser(); VersionControlService versionControl = versionControlService.orElseThrow(); @@ -344,7 +343,7 @@ public ProgrammingExercise createProgrammingExercise(ProgrammingExercise program channelService.createExerciseChannel(savedProgrammingExercise, Optional.ofNullable(programmingExercise.getChannelName())); // Step 10: Setup build plans for template and solution participation - setupBuildPlansForNewExercise(savedProgrammingExercise, isImportedFromFile); + setupBuildPlansForNewExercise(savedProgrammingExercise); savedProgrammingExercise = programmingExerciseRepository.findForCreationByIdElseThrow(savedProgrammingExercise.getId()); // Step 11: Update task from problem statement @@ -511,10 +510,8 @@ public void validateCheckoutDirectoriesUnchanged(ProgrammingExercise originalPro * * @param programmingExercise Programming exercise for the build plans should be generated. The programming * exercise should contain a fully initialized template and solution participation. - * @param isImportedFromFile defines if the programming exercise is imported from a file, if the - * exercise is imported, the build plans will not be triggered to prevent erroneous builds */ - public void setupBuildPlansForNewExercise(ProgrammingExercise programmingExercise, boolean isImportedFromFile) throws JsonProcessingException { + public void setupBuildPlansForNewExercise(ProgrammingExercise programmingExercise) throws JsonProcessingException { String projectKey = programmingExercise.getProjectKey(); // Get URLs for repos var exerciseRepoUri = programmingExercise.getVcsTemplateRepositoryUri(); @@ -541,13 +538,9 @@ public void setupBuildPlansForNewExercise(ProgrammingExercise programmingExercis programmingExerciseBuildConfigRepository.saveAndFlush(programmingExercise.getBuildConfig()); } - // if the exercise is imported from a file, the changes fixing the project name will trigger a first build anyway, so - // we do not trigger them here - if (!isImportedFromFile) { - // trigger BASE and SOLUTION build plans once here - continuousIntegrationTriggerService.orElseThrow().triggerBuild(programmingExercise.getTemplateParticipation()); - continuousIntegrationTriggerService.orElseThrow().triggerBuild(programmingExercise.getSolutionParticipation()); - } + // trigger BASE and SOLUTION build plans once here + continuousIntegrationTriggerService.orElseThrow().triggerBuild(programmingExercise.getTemplateParticipation()); + continuousIntegrationTriggerService.orElseThrow().triggerBuild(programmingExercise.getSolutionParticipation()); } /** diff --git a/src/main/java/de/tum/cit/aet/artemis/programming/web/ProgrammingExerciseResource.java b/src/main/java/de/tum/cit/aet/artemis/programming/web/ProgrammingExerciseResource.java index 45e755529db2..fe709890df91 100644 --- a/src/main/java/de/tum/cit/aet/artemis/programming/web/ProgrammingExerciseResource.java +++ b/src/main/java/de/tum/cit/aet/artemis/programming/web/ProgrammingExerciseResource.java @@ -249,7 +249,7 @@ public ResponseEntity createProgrammingExercise(@RequestBod try { // Setup all repositories etc - ProgrammingExercise newProgrammingExercise = programmingExerciseService.createProgrammingExercise(programmingExercise, false); + ProgrammingExercise newProgrammingExercise = programmingExerciseService.createProgrammingExercise(programmingExercise); // Create default static code analysis categories if (Boolean.TRUE.equals(programmingExercise.isStaticCodeAnalysisEnabled())) {