This website uses cookies to ensure you get the best experience. Learn More.
Maven Madness in Liferay Land
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> ... <build> <finalName>portal-web</finalName> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <warName>${project.build.finalName}</warName> <outputFileNameMapping>@{artifactId}@.@{extension}@</outputFileNameMapping> <overlays> <overlay> <groupId>com.liferay.portal</groupId> <artifactId>portal-web</artifactId> </overlay> </overlays> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.liferay.portal</groupId> <artifactId>portal-web</artifactId> <!-- Include a specific version of Liferay with a release --> <version>${liferay.version}</version> <type>war</type> <scope>runtime</scope> </dependency> </dependencies> </project>
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> ... <build> <finalName>portal-service</finalName> <plugins> <plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>gmaven-plugin</artifactId> <executions> <execution> <id>generate-patched-file-list</id> <phase>compile</phase> <goals> <goal>execute</goal> </goals> <configuration> <source>${basedir}/src/main/groovy/listfiles.groovy</source> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>unpack</id> <phase>prepare-package</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>com.liferay.portal</groupId> <artifactId>portal-service</artifactId> <version>${liferay.version}</version> <type>jar</type> <overWrite>true</overWrite> <outputDirectory>${project.build.directory}/classes</outputDirectory> <excludes>${patched.files}</excludes> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> </plugins> </build> ... </project>
def files = [] new File(project.build.directory).eachFileRecurse() { file -> def s = file.getPath() if (s.endsWith(".class")) { files << "**" + s.substring(s.lastIndexOf('/')) } } project.properties['patched.files'] = files.join(",")
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> ... <build> <finalName>portal-impl</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> ... <execution> <id>copy-overlay</id> <phase>generate-sources</phase> <goals> <goal>copy</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>be.planetsizebrain.liferay</groupId> <artifactId>util-taglib-overlay</artifactId> <outputDirectory>${project.build.directory}/classes/com/liferay/portal/deploy/dependencies</outputDirectory> <destFileName>util-taglib.jar</destFileName> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.liferay.portal</groupId> <artifactId>portal-impl</artifactId> </dependency> <dependency> <groupId>be.planetsizebrain.liferay</groupId> <artifactId>util-taglib-overlay</artifactId> </dependency> ... </dependencies> </project>
<assembly> <id>portal-release-bundle</id> <formats> <format>zip</format> </formats> <includeBaseDirectory>false</includeBaseDirectory> <fileSets> <fileSet> <directory>${basedir}/src/main/resources</directory> <outputDirectory>liferay</outputDirectory> <includes> <include>**/*</include> </includes> <useDefaultExcludes>true</useDefaultExcludes> <fileMode>0644</fileMode> <directoryMode>0755</directoryMode> </fileSet> </fileSets> <dependencySets> <dependencySet> <includes> <include>*:war</include> </includes> <outputDirectory>/wars</outputDirectory> <outputFileNameMapping>${artifact.artifactId}.war</outputFileNameMapping> <useProjectArtifact>false</useProjectArtifact> </dependencySet> <dependencySet> <includes> <include>*:zip</include> </includes> <outputDirectory>/patches</outputDirectory> <outputFileNameMapping>${artifact.artifactId}.zip</outputFileNameMapping> <useProjectArtifact>false</useProjectArtifact> </dependencySet> </dependencySets> </assembly>