You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Jens Berke (JIRA)" <ji...@apache.org> on 2017/11/29 08:36:00 UTC

[jira] [Created] (TOMEE-2152) ApplicationComposers.addWebApp fails to detect main classes for Gradle >= 4

Jens Berke created TOMEE-2152:
---------------------------------

             Summary: ApplicationComposers.addWebApp fails to detect main classes for Gradle >= 4
                 Key: TOMEE-2152
                 URL: https://issues.apache.org/jira/browse/TOMEE-2152
             Project: TomEE
          Issue Type: Bug
    Affects Versions: 7.0.4
            Reporter: Jens Berke
         Attachments: ApplicationComposers.patch

Starting with Gradle 4, the output directory layout has been changed, and as a result the detection of the main classes directory in org.apache.openejb.testing.ApplicationComposers.addWebApp fails.

The changes are documented in the  [release notes for Gradle 4|https://docs.gradle.org/4.0/release-notes.html], see chapters "Multiple class directories for a single source set" and "Location of classes in the build directory" there.

As a workaround it is currently possible to change the output directory structure in the Gradle build script to what ApplicationComposers.addWebApp expects, but this possibility is scheduled to be removed in Gradle 5.0.

The attached patch only demonstrates the minimal change necessary for Gradle >= 4, but it also breaks backwards compatibility with Gradle <= 3. Therefore it might be a good idea to add a system property or something similar which allows activation of the old directory structure detection for Gradle <= 3. 

It also may be a good idea to not hard-code the "java" sub-directory because the value might be different depending on the plugins used to run and build in Gradle. See the Gradle API doc for [SourceDirectorySet.outputdir|https://docs.gradle.org/4.0/dsl/org.gradle.api.file.SourceDirectorySet.html] which shows how Gradle now creates the output path dynamically.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)