tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Romain Manni-Bucau (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TOMEE-2152) ApplicationComposers @Default fails to detect main classes for Gradle >= 4
Date Mon, 04 Dec 2017 09:14:00 GMT

    [ https://issues.apache.org/jira/browse/TOMEE-2152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16276490#comment-16276490
] 

Romain Manni-Bucau commented on TOMEE-2152:
-------------------------------------------

Hi Jens,

did you try to use @Jars instead using the directory name which should match from classpath
inspection? @Default was really more intended to maven which has a single target output -
gradle has at least 2 by default (one for classes, one for resources)

> ApplicationComposers @Default 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)

Mime
View raw message