Skip to content
This repository has been archived by the owner on May 16, 2018. It is now read-only.

Commit

Permalink
Added unzipping for the zip artifacts to the script
Browse files Browse the repository at this point in the history
  • Loading branch information
kpiwko committed Feb 21, 2012
1 parent fdec980 commit 7aa0563
Show file tree
Hide file tree
Showing 2 changed files with 178 additions and 79 deletions.
26 changes: 22 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,32 @@ A script to bootstrap Maven environment using zip repositories

Usage:

1. Download EAP Repository zip file
2. Download WFK Repository zip file
3. Extract both zips
4. Run `mvn package`
1. Download EAP 6 Maven Repository zip file
2. Download WFK 2 Maven Repository zip file
3. Run `mvn package`

Result:

Your `settings.xml` is generated in upper directory. Reference it from your IDE or from Maven binary

mvn -s /path/to/generated/settings.xml

Note:
Script will as well create .repository directory, which acts as a local repositary to keep your environment isolated

Troubleshooting
---------------

The script allows you to set path where zip files are stored. Following properties can be used:

* __eap6.enterprise.repository.zip__ - a path to EAP6 Maven Repository zip
* __wfk2.enterprise.repository.zip__ - a path to WFK2 Maven Repository zip
* __eap6.enterprise.repository.dir__ - an absolute path where EAP6 Maven Repository was extracted
* __wfk2.enterprise.repository.dir__ - an absolute path where WFK2 Maven Repository was extracted

On Linux, you can use following Maven command

mvn clean package -Deap6.enterprise.repository.zip=jboss-eap-6.0.0.DR12-maven-repository.zip \
-Dwfk2.enterprise.repository.zip=jboss-wfk-2.0.0-DR07-repository.zip \
-Deap6.enterprise.repository.dir=`pwd`/jboss-eap-6.0.0.DR12-maven-repository \
-Dwfk2.enterprise.repository.dir=`pwd`/jboss-wfk-2.0.0-DR07-repository
231 changes: 156 additions & 75 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
<?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/maven-v4_0_0.xsd">
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<modelVersion>4.0.0</modelVersion>

<groupId>org.jboss.helpers</groupId>
<artifactId>settings-xml-creator-example</artifactId>
<version>1.0.0-SNAPSHOT</version>
<groupId>org.jboss.helpers</groupId>
<artifactId>settings-xml-creator</artifactId>
<version>1.0.0-SNAPSHOT</version>

<packaging>pom</packaging>
<name>Settings.xml Creator from a Template</name>
<description>Example that demonstrates creation of settings.xml with an activated locally unzipped repositories</description>
<packaging>pom</packaging>
<name>Maven settings.xml creator</name>
<description>A helper utility which allows you to extract EAP6 and WFK2 Maven repository from zip files and creates a local
settings.xml files which has these repositories activated.</description>

<properties>
<eap6.enterprise.repository.zip>${basedir}/jboss-eap-6.0.0.DR10-maven-repository.zip</eap6.enterprise.repository.zip>
Expand All @@ -19,73 +20,153 @@
<wfk2.enterprise.repository.dir>${basedir}/jboss-wfk-2.0.0-DR07-repository</wfk2.enterprise.repository.dir>
</properties>

<dependencies>
</dependencies>

<dependencies>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>generate-maven-settings</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<escapeWindowsPaths>true</escapeWindowsPaths>
<outputDirectory>${basedir}/../</outputDirectory>
<overwrite>true</overwrite>
<resources>
<resource>
<directory>${basedir}/src/main/resources/</directory>
<filtering>true</filtering>
<includes>
<include>**/settings.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>the-repository-exists</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireFilesExist>
<files>
<file>${eap6.enterprise.repository.dir}</file>
</files>
<message>EAP6 Enterprise Repository must exist. Please unzip the file first.</message>
</requireFilesExist>
<requireFilesExist>
<files>
<file>${wfk2.enterprise.repository.dir}</file>
</files>
<message>WFK2 Enterprise Repository must exist. Please unzip the file first</message>
</requireFilesExist>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- Ant plugin should be used to unzip the zips there -->
</plugins>
</build>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>generate-maven-settings</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<escapeWindowsPaths>true</escapeWindowsPaths>
<outputDirectory>${basedir}/../</outputDirectory>
<overwrite>true</overwrite>
<resources>
<resource>
<directory>${basedir}/src/main/resources/</directory>
<filtering>true</filtering>
<includes>
<include>**/settings.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>repository-zip-exist</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireFilesExist>
<files>
<file>${eap6.enterprise.repository.zip}</file>
</files>
<message>EAP6 Enterprise Repository Zip must exist. Please download the file first.</message>
</requireFilesExist>
<requireFilesExist>
<files>
<file>${wfk2.enterprise.repository.zip}</file>
</files>
<message>WFK2 Enterprise Repository Zip must exist. Please download the file first.</message>
</requireFilesExist>
</rules>
</configuration>
</execution>
<execution>
<id>repository-dirs-exist</id>
<phase>process-resources</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireFilesExist>
<files>
<file>${eap6.enterprise.repository.dir}</file>
</files>
<message>EAP6 Enterprise Repository must exist. Please unzip the file first.</message>
</requireFilesExist>
<requireFilesExist>
<files>
<file>${wfk2.enterprise.repository.dir}</file>
</files>
<message>WFK2 Enterprise Repository must exist. Please unzip the file first</message>
</requireFilesExist>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>remove-wfk-repository</id>
<phase>clean</phase>
<configuration>
<target name="remove-wfk-repository">
<echo>Removing WFK 2 Enterprise Maven Repository from ${wfk2.enterprise.repository.dir}</echo>
<delete dir="${wfk2.enterprise.repository.dir}" quiet="true" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>remove-eap-repository</id>
<phase>clean</phase>
<configuration>
<target name="remove-eap-repository">
<echo>Removing EAP 6 Enterprise Maven Repository at ${eap6.enterprise.repository.dir}</echo>
<delete dir="${eap6.enterprise.repository.dir}" quiet="true" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>unzip-wfk-artifacts</id>
<phase>generate-resources</phase>
<configuration>
<target name="unzip-wfk-repository">
<echo>Unzipping WFK 2 Enterprise Maven Repository into ${basedir}</echo>
<unzip src="${wfk2.enterprise.repository.zip}" dest="${basedir}" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>unzip-eap-artifacts</id>
<phase>generate-resources</phase>
<configuration>
<target name="unzip-eap-repository">
<echo>Extracting EAP 6 Enterprise Maven Repository into ${basedir}</echo>
<unzip src="${eap6.enterprise.repository.zip}" dest="${basedir}" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

</project>

0 comments on commit 7aa0563

Please sign in to comment.