That said; Somewhere, artifact/version/filename parsing is happening. If I provide a "-Dversion=3.0.0-alpha1" then the file names are screwed up, and becomes ".jar", "-sources.jar" and so on, without a name.
The following from a quick test; 3.0.0 --> correct file names 3.0.0.alpha1 --> corrupt 3.0.0-alpha1 --> corrupt 3.0.alpha1 --> correct I don't know if this is serious enough to bother about, but I thought I should give the feedback. Niclas On Sun, Feb 26, 2017 at 9:26 PM, Niclas Hedhman <[email protected]> wrote: > > * POM has correct artifactId > > * $HOME/.m2/repository/ is populated > > * The test/ are still causing issue in IDEA, most likely related to > perfRuntimeOnly configuration that can't be resolved to something useful. > > > Cheers > > On Sat, Feb 25, 2017 at 7:37 PM, Paul Merlin <[email protected]> > wrote: > >> Niclas, >> >> I just pushed a fix to the build system for Maven artifactId of >> published bits. >> `./gradlew install` should now do what you expect. >> Could you confirm it works for you? >> >> By the way, I upgraded Gradle to the latest stable release 3.4, enabled >> incremental Java compilation and applied the new java-library plugin >> that allows to clearly separate API and implementation and thus allows >> for more compile avoidance. >> >> See https://docs.gradle.org/current/userguide/java_library_plugin.html >> and >> https://docs.gradle.org/current/release-notes.html#faster- >> java-incremental-compilation >> >> I suppose that you'll like the new dependencies declarations that now >> distinguish compilation, API & implementation dependencies on each >> project ;) >> >> Cheers >> >> /Paul >> >> >> Niclas Hedhman a écrit : >> > I have been digging in this for a while now, and my findings are... >> > >> > Since the project.name <http://project.name> isn't changed "upfront", >> > but trying to keep the directory naming, there is a >> > "PublishNaming.publishedNameFor( project.path )" that tries to set the >> > jar names where needed. >> > Bizarre enough, the POM generation uses (or so I think) the artifact >> > in the "archives" configuration and generates correct <artifactId> for >> > the published POM. But that artifact (in archives) has dependencies >> > pointing to the projects with their respective names, and unable to >> > resolve the "short name" to "long name" therein. >> > >> > There is an experimental feature in Gradle (ArtifactResolutionQuery), >> > which is currently used to (I think) build the local Maven repository >> > in the SDK, and that feature might be possible to somehow use to get >> > the correct artifactId into the Maven POM <dependencies> section. >> > >> > But that is simply beyond me... >> > >> > Cheers >> > Niclas >> > >> > On Mon, Feb 13, 2017 at 1:11 AM, Paul Merlin <[email protected] >> > <mailto:[email protected]>> wrote: >> > >> > Le 12 février 2017 10:25:33 GMT-05:00, Niclas Hedhman >> > <[email protected] <mailto:[email protected]>> a écrit : >> > >> > No 'publishToMavenLocal' task in 'develop' at the moment. >> Perhaps you >> > didn't push it, or...? >> > >> > >> > >> > niclas@devdesk:~/dev/polygene/java$ ./gradlew tasks >> > :buildSrc:compileJava UP-TO-DATE >> > :buildSrc:compileGroovy UP-TO-DATE >> > :buildSrc:processResources UP-TO-DATE >> > :buildSrc:classes UP-TO-DATE >> > :buildSrc:jar UP-TO-DATE >> > :buildSrc:assemble UP-TO-DATE >> > :buildSrc:compileTestJava UP-TO-DATE >> > :buildSrc:compileTestGroovy UP-TO-DATE >> > :buildSrc:processTestResources UP-TO-DATE >> > :buildSrc:testClasses UP-TO-DATE >> > :buildSrc:test UP-TO-DATE >> > :buildSrc:check UP-TO-DATE >> > :buildSrc:build UP-TO-DATE >> > The Jetty plugin has been deprecated and is scheduled to be >> removed in >> > Gradle 4.0. Consider using the Gretty ( >> https://github.com/akhikhl/gretty <https://github.com/akhikhl/gretty>) >> > plugin instead. >> > at >> > build_2f82eno9qy3vq1tf48q5bfowx.run < >> http://2f82eno9qy3vq1tf48q5bfowx.run>(/home/niclas/dev/ >> polygene/java/samples/rental/build.gradle:23) >> > >> > :tasks >> > >> > ----------------------------------------------------------- >> ------------- >> > >> > All tasks runnable from root project >> > ----------------------------------------------------------- >> ------------- >> > Default tasks: classes, test Build tasks ----------- assemble >> > - Assembles the outputs of this project. build - Assembles and >> > tests this project. buildDependents - Assembles and tests this >> > project and all projects that depend on it. buildNeeded - >> > Assembles and tests this project and all projects it depends >> > on. classes - Assembles main classes. clean - Deletes the >> > build directory. jar - Assembles a jar archive containing the >> > main classes. perfClasses - Assembles perf classes. >> > testClasses - Assembles test classes. versionClasses - >> > Assembles version classes. vhostTestClasses - Assembles vhost >> > test classes. war - Generates a war archive with all the >> > compiled classes, the web-app content and the libraries. Build >> > Setup tasks ----------------- init - Initializes a new Gradle >> > build. [incubating] wrapper - Generates Gradle wrapper files. >> > [incubating] Distribution tasks ------------------ >> > stageBinariesMavenRepository - Stages published binaries as a >> > maven repository in the build directory. >> > stageBinaryDistribution - Stages the binary distribution in >> > the build directory. stageDependenciesMavenRepository - Stages >> > dependencies of published binaries as a maven repository in >> > the build directory. (BIG) stageSourceDistribution - Stages >> > the source distribution in the build directory. >> > tarBinaryDistribution - Assembles .tar.gz binary distribution. >> > tarSourceDistribution - Assembles .tar.gz source distribution. >> > zipBinaryDistribution - Assembles .zip binary distribution. >> > zipDependenciesDistribution - Assemble .zip dependencies >> > distribution (BIG) zipSourceDistribution - Assembles .zip >> > source distribution. Distribution verification tasks >> > ----------------------------------------------------------- >> ------------- >> > buildSourceDistribution - Checks the source distribution by >> > running `gradle build` inside. checkDistributions - Run all >> > distribution checks. ratBinaryDistribution - Checks the binary >> > distribution using Apache RAT. ratSourceDistribution - Checks >> > the source distribution using Apache RAT. Docker tasks >> > ------------ buildCassandraDockerImage - Build cassandra >> > Docker image buildMemcachedDockerImage - Build memcached >> > Docker image buildMysqlDockerImage - Build mysql Docker image >> > buildPostgresDockerImage - Build postgres Docker image >> > buildRedisDockerImage - Build redis Docker image >> > buildRiakDockerImage - Build riak Docker image Documentation >> > tasks ------------------- groovydoc - Generates Groovydoc API >> > documentation for the main source code. javadoc - Generates >> > Javadoc API documentation for the main source code. javadocs - >> > Builds the whole SDK public Javadoc makeAsciidocBuildInfo - >> > Generates asciidoc artifact snippet manuals - Generates all >> > documentation website - Generates documentation website Help >> > tasks ---------- buildEnvironment - Displays all buildscript >> > dependencies declared in root project 'polygene-java'. >> > components - Displays the components produced by root project >> > 'polygene-java'. [incubating] dependencies - Displays all >> > dependencies declared in root project 'polygene-java'. >> > dependencyInsight - Displays the insight into a specific >> > dependency in root project 'polygene-java'. >> > dependentComponents - Displays the dependent components of >> > components in root project 'polygene-java'. [incubating] >> > downloadDependencies - Download all dependencies help - >> > Displays a help message. model - Displays the configuration >> > model of root project 'polygene-java'. [incubating] projects - >> > Displays the sub-projects of root project 'polygene-java'. >> > properties - Displays the properties of root project >> > 'polygene-java'. tasks - Displays the tasks runnable from root >> > project 'polygene-java' (some of the displayed tasks may >> > belong to subprojects). Performance tasks ----------------- >> > performanceTest - Runs performance tests. Release tasks >> > ------------- publishAsfDistributions - Publishes >> > distributions to ASF SVN. publishAsfDocumentation - Publishes >> > documentation to ASF HTTP. publishAsfMavenArtifacts - >> > Publishes maven artifacts to ASF Nexus. releaseAsf - Rolls out >> > an Apache Software Foundation release. >> > releaseSpecApprovedProjects - Apply release specification to >> > projects in the build reportReleaseSpec - Report module(s) >> > that do or don't fit the release criteria. Release >> > verification tasks -------------------------- checkReleaseSpec >> > - Ensure that no releasable module depend on module(s) that >> > don't fit the release criteria. Samples tasks ------------- >> > runCircuitBreakerSample - Runs circuitbreaker sample. >> > runEnvisageSample - Runs envisage sample. >> > runEnvisageSchoolSample - Runs envisage School sample. >> > runForumSample - Runs forum sample. runJmxSample - Runs jmx >> > sample. runRestletSample - Runs restlet sample. >> > runSqlSupportSample - Runs sql-support sample. runSwingSample >> > - Runs swing sample. Upload tasks ------------ uploadArchives >> > - Uploads all artifacts belonging to configuration >> > ':core:api:archives' uploadStageArchives - Uploads all >> > artifacts belonging to configuration ':core:api:stageArchives' >> > Verification tasks ------------------ check - Runs all checks. >> > coverage - Generates global coverage report jacocoTestReport - >> > Generates test coverage report. test - Runs the unit tests. >> > Web application tasks --------------------- jettyRun - Uses >> > your files as and where they are and deploys them to Jetty. >> > jettyRunWar - Assembles the webapp into a war and deploys it >> > to Jetty. jettyStop - Stops Jetty. Rules ----- Pattern: >> > clean<TaskName>: Cleans the output files of a task. To see all >> > tasks and more detail, run gradlew tasks --all To see more >> > detail about a task, run gradlew help --task <task> BUILD >> > SUCCESSFUL On Sun, Feb 12, 2017 at 8:29 PM, Paul Merlin >> > <[email protected] <mailto:[email protected]>> wrote: >> > >> > Le 12 février 2017 04:31:44 GMT-05:00, Niclas Hedhman >> > <[email protected] <mailto:[email protected]>> a écrit : >> > >> > I build a distirbution and found a Maven repository >> > inside distributions/build/stage And far more >> > disturbing than not getting .m2/ populated is that the >> > produced POMs are invalid. The naming of jar files is >> > messed up now, missing the group in the artifactId. >> > <dependencies> <dependency> >> > <groupId>org.apache.polygene.core</groupId> >> > <artifactId>bootstrap</artifactId> >> > <version>0</version> <scope>compile</scope> >> > </dependency> <dependency> >> > <groupId>org.apache.polygene.extensions</groupId> >> > <artifactId>valueserialization-jackson</artifactId> >> > <version>0</version> <scope>compile</scope> >> > </dependency> <dependency> >> > <groupId>org.apache.polygene.extensions</groupId> >> > <artifactId>indexing-rdf</artifactId> >> > <version>0</version> <scope>compile</scope> >> > </dependency> On Sun, Feb 12, 2017 at 5:24 PM, Niclas >> > Hedhman <[email protected] >> > <mailto:[email protected]>> wrote: Paul, >> > >> > 'install' doesn't work anymore... Or at least, the >> > ~/.m2/repository is not populated. And I can't >> > figure out how the all-plugin way of build system >> > is actually working. What do I need to do for >> > "local build" and be able to use that in another >> > local project? Cheers -- Niclas Hedhman, Software >> > Developer http://polygene.apache.org >> > <http://zest.apache.org> - New Energy for Java >> > >> > Hi Niclas, I'm currently very far away from a keyboard and >> > will be until the 20th. The artifactIds should be fixed, >> > good catch. As for publishing to ~/.m2, the >> > publishToMavenLocal task should do. HTH >> > >> > >> > Arg... >> > Looks like I overlooked that use case when working on the build. >> > I'll fix that when I'm back. >> > >> > In the meantime you can use stageBinariesMavenRepository and add >> > the directory as a repository to your consuming project. >> > >> > If the consuming project is built using gradle you could have a >> > look at composite builds to skip that 'local artifacts' mess. >> > There would probably be some mapping to do for substitution to >> > work. I plan to provide a sample when I'm back, just mentioning in >> > case you want to have a look. >> > >> > HTH >> > >> > Cheers >> > -- >> > Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez >> > excuser ma brièveté. >> > >> > >> > >> > >> > -- >> > Niclas Hedhman, Software Developer >> > http://polygene.apache.org <http://zest.apache.org> - New Energy for >> Java >> > > > > -- > Niclas Hedhman, Software Developer > http://polygene.apache.org <http://zest.apache.org> - New Energy for Java > -- Niclas Hedhman, Software Developer http://polygene.apache.org <http://zest.apache.org> - New Energy for Java
