Author: ate
Date: Fri Aug 12 02:56:50 2005
New Revision: 232253
URL: http://svn.apache.org/viewcvs?rev=232253&view=rev
Log:
Fixed j2:deploy goal now dynamically downloading war dependency from remote
repositories if not found local.
This now provides full installation of a new portal using only the plugin!
Look Ma: no source ;-)
Modified:
portals/jetspeed-2/trunk/maven-plugin/plugin.jelly
Modified: portals/jetspeed-2/trunk/maven-plugin/plugin.jelly
URL:
http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/maven-plugin/plugin.jelly?rev=232253&r1=232252&r2=232253&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/maven-plugin/plugin.jelly (original)
+++ portals/jetspeed-2/trunk/maven-plugin/plugin.jelly Fri Aug 12 02:56:50 2005
@@ -282,6 +282,17 @@
<!-- =============================================== -->
<goal name="j2:deploy">
+ <j:set var="online" value="${maven.mode.online}"/>
+ <j:if test="${online}">
+ <j:set var="depGroup" value="${plugin.groupId}"/>
+ <j:set var="depType" value="wars"/>
+ <j:set var="depName"
value="${maven.war.final.name}-${jetspeed.version}.war"/>
+ <j:set var="depVersion" value="${jetspeed.version}"/>
+ <j:if test="${depVersion.endsWith('SNAPSHOT')}">
+ <j:set var="depSnapshot" value="true"/>
+ </j:if>
+ <attainGoal name="j2:_check.dep"/>
+ </j:if>
<copy
file="${maven.repo.local}/${plugin.groupId}/wars/${maven.war.final.name}-${jetspeed.version}.war"
tofile="${org.apache.jetspeed.portal.dir}/WEB-INF/deploy/${maven.war.final.name}.war"
overwrite="true"
@@ -796,4 +807,45 @@
<attainGoal name="j2:_db.execute"/>
</goal>
+ <!-- Check for availability of a dependency in the local repository and
download it from the remote repo(s)
+ if not found or a snapshot.
+ Taken from the maven-plugin-plugin 1.5.2.
+ -->
+ <goal name="j2:_check.dep">
+ <util:file var="localFile"
name="${maven.repo.local}/${depGroup}/${depType}/${depName}" />
+ <j:if test="${!localFile.exists()}">
+ <j:set var="nolocalFile" value="true"/>
+ </j:if>
+ <j:if test="${depSnapshot || nolocalFile}">
+ <j:set var="depFullname" value="${depGroup}/${depType}/${depName}"/>
+ <echo> fullName is ${depFullname}</echo>
+ <ant:mkdir dir="${maven.repo.local}/${depGroup}/${depType}" />
+ <j:set var="repoList">${maven.repo.remote}</j:set>
+ <util:tokenize var="repos" delim=",">${repoList.trim()}</util:tokenize>
+ <j:forEach var="repo" items="${repos}">
+ <echo>repo is '${repo}'</echo>
+ <j:set var="remoteFile" value="${repo}/${depFullname}" />
+ <echo>trying to download ${remoteFile}</echo>
+ <j:catch var="ex">
+ <j:invokeStatic var="dummy" method="getFile"
className="org.apache.maven.util.HttpUtils">
+ <j:arg type="java.lang.String" value="${remoteFile}" />
+ <j:arg type="java.io.File" value="${localFile}"/>
+ <j:arg type="boolean" value="false"/>
+ <j:arg type="boolean" value="true"/>
+ <j:arg type="java.lang.String" value="${maven.proxy.host}" />
+ <j:arg type="java.lang.String" value="${maven.proxy.port}" />
+ <j:arg type="java.lang.String" value="${maven.proxy.username}" />
+ <j:arg type="java.lang.String" value="${maven.proxy.password}" />
+ <j:arg type="boolean" value="false"/>
+ </j:invokeStatic>
+ </j:catch>
+ <j:break test="${localFile.exists()}"/>
+ </j:forEach>
+ </j:if>
+ <j:set var="downloaded" value="${localFile.exists()}"/>
+ <j:if test="${!downloaded}">
+ <ant:fail message="Unable to download ${depFullname}" />
+ </j:if>
+ </goal>
+
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]