Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MODE-2383 Fixed the way binary distributions are built so that there is no need to install *-with-dependency artifacts in the Maven repository. #1342

Merged
merged 1 commit into from Dec 8, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions connectors/pom.xml
Expand Up @@ -92,6 +92,8 @@
<descriptorRef>module-with-dependencies</descriptorRef>
</descriptorRefs>
<attach>false</attach>
<finalName>${binary.dist.name}</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</plugin>
</plugins>
Expand Down
2 changes: 2 additions & 0 deletions demos/embedded-repo/pom.xml
Expand Up @@ -66,6 +66,8 @@
<descriptorRef>example-with-dependencies</descriptorRef>
</descriptorRefs>
<attach>false</attach>
<finalName>${binary.dist.name}</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</plugin>
</plugins>
Expand Down
2 changes: 2 additions & 0 deletions demos/sequencers/pom.xml
Expand Up @@ -106,6 +106,8 @@
<descriptorRef>example-with-dependencies</descriptorRef>
</descriptorRefs>
<attach>false</attach>
<finalName>${binary.dist.name}</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</plugin>
</plugins>
Expand Down
2 changes: 2 additions & 0 deletions extractors/pom.xml
Expand Up @@ -98,6 +98,8 @@
<descriptorRef>module-with-dependencies</descriptorRef>
</descriptorRefs>
<attach>false</attach>
<finalName>${binary.dist.name}</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</plugin>
</plugins>
Expand Down
Expand Up @@ -4,64 +4,160 @@
<format>zip</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<dependencySets>
<!--Core components, which will be placed in the root folder-->
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<useTransitiveDependencies>false</useTransitiveDependencies>
<unpack>true</unpack>
<unpackOptions>
<excludes>
<exclude>**/META-INF/**</exclude>
</excludes>
</unpackOptions>
<scope>compile</scope>
<includes>
<include>*:*:*:component-with-dependencies</include>
</includes>

<fileSets>
<!-- Core Modules (included in the root of the dist) -->
<fileSet>
<directory>../modeshape-common/target/${binary.dist.name}</directory>
<outputDirectory>/</outputDirectory>
</dependencySet>
<!--Additional modules-->
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<useTransitiveDependencies>false</useTransitiveDependencies>
<scope>compile</scope>
<unpack>true</unpack>
<unpackOptions>
<excludes>
<exclude>**/META-INF/**</exclude>
</excludes>
</unpackOptions>
<outputDirectory>modules</outputDirectory>
<includes>
<include>*:*:*:module-with-dependencies</include>
</includes>
</dependencySet>
</fileSet>
<fileSet>
<directory>../modeshape-jcr/target/${binary.dist.name}</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
<fileSet>
<directory>../modeshape-jcr-api/target/${binary.dist.name}</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
<fileSet>
<directory>../modeshape-schematic/target/${binary.dist.name}</directory>
<outputDirectory>/</outputDirectory>
</fileSet>

<!-- Additional Modules (included in the modules dir) -->
<fileSet>
<directory>../connectors/modeshape-connector-cmis/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-connector-cmis</outputDirectory>
</fileSet>
<fileSet>
<directory>../connectors/modeshape-connector-git/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-connector-git</outputDirectory>
</fileSet>
<fileSet>
<directory>../connectors/modeshape-connector-jdbc-metadata/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-connector-jdbc-metadata</outputDirectory>
</fileSet>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One disadvantage of doing it this way is that we have to explicitly maintain the fileSets when adding/removing modules. Shouldn't be too hard, but we may end up forgetting. I guess we kind of had to do this anyway in the modeshape-distribution.pom, so maybe it's not that much of a change.

OTOH, the big benefit to doing it this way is that no longer do we have to install the with-dependencies artifacts locally or deploy them into the official Maven repository.

Is this correct? Are there other benefits?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in short, yes: <dependencySet> s are resolved via the Maven repo which in turn, contains only installed artifacts which in turn, must be "attached" (to an assembly) which in turn, will be deployed 😉

<fileSet>
<directory>../extractors/modeshape-extractor-tika/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-extractor-tika</outputDirectory>
</fileSet>
<fileSet>
<directory>../modeshape-jca/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-jca</outputDirectory>
</fileSet>
<fileSet>
<directory>../modeshape-jdbc/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-jdbc</outputDirectory>
</fileSet>
<fileSet>
<directory>../modeshape-jdbc-local/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-jdbc-local</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-ddl/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-ddl</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-images/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-images</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-java/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-java</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-mp3/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-mp3</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-msoffice/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-msoffice</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-sramp/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-sramp</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-teiid/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-teiid</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-text/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-text</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-wsdl/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-wsdl</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-xml/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-xml</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-xsd/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-xsd</outputDirectory>
</fileSet>
<fileSet>
<directory>../sequencers/modeshape-sequencer-zip/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-sequencer-zip</outputDirectory>
</fileSet>
<fileSet>
<directory>../modeshape-unit-test/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-unit-test</outputDirectory>
</fileSet>
<fileSet>
<directory>../web/modeshape-web-cmis/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-web-cmis</outputDirectory>
</fileSet>
<fileSet>
<directory>../web/modeshape-web-explorer/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-web-explorer</outputDirectory>
</fileSet>
<fileSet>
<directory>../web/modeshape-web-jcr/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-web-jcr</outputDirectory>
</fileSet>
<fileSet>
<directory>../web/modeshape-web-jcr-rest/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-web-jcr-rest</outputDirectory>
</fileSet>
<fileSet>
<directory>../web/modeshape-web-jcr-webdav/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-web-jcr-webdav</outputDirectory>
</fileSet>
<fileSet>
<directory>../web/modeshape-webdav/target/${binary.dist.name}</directory>
<outputDirectory>/modules/modeshape-webdav</outputDirectory>
</fileSet>

<!--Examples-->
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<useTransitiveDependencies>false</useTransitiveDependencies>
<scope>compile</scope>
<unpack>true</unpack>
<outputDirectory>examples</outputDirectory>
<fileSet>
<directory>../demos/embedded-repo/target/${binary.dist.name}</directory>
<outputDirectory>/examples</outputDirectory>
</fileSet>
<fileSet>
<directory>../demos/sequencers/target/${binary.dist.name}</directory>
<outputDirectory>/examples</outputDirectory>
</fileSet>

<!--Client-->
<fileSet>
<directory>../modeshape-client/target</directory>
<outputDirectory>/client</outputDirectory>
<includes>
<include>*:*:*:example-with-dependencies</include>
<include>modeshape-client*.jar</include>
</includes>
</dependencySet>
<!--JDBC jar renamed to client-->
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<useTransitiveDependencies>false</useTransitiveDependencies>
<scope>compile</scope>
<unpack>false</unpack>
</fileSet>

<!-- JCA adapter-->
<fileSet>
<directory>../modeshape-jca-rar/target</directory>
<includes>
<include>*:modeshape-client:*</include>
<include>*.rar</include>
</includes>
<outputDirectory>/client</outputDirectory>
</dependencySet>
</dependencySets>

<fileSets>
<outputDirectory>jca</outputDirectory>
</fileSet>
<!--Various other resources-->
<fileSet>
<!--
Gather into the distribution the various text files for inclusion
Expand All @@ -84,15 +180,5 @@
<directory>target/api</directory>
<outputDirectory>doc/api</outputDirectory>
</fileSet>
<fileSet>
<!--
JCA adaptor
-->
<directory>../modeshape-jca-rar/target</directory>
<includes>
<include>*.rar</include>
</includes>
<outputDirectory>jca</outputDirectory>
</fileSet>
</fileSets>
</assembly>

This file was deleted.

Expand Up @@ -2,7 +2,7 @@
<id>example-with-dependencies</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>zip</format>
<format>dir</format>
</formats>
<dependencySets>
<dependencySet>
Expand Down