* 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
