You are viewing a plain text version of this content. The canonical link for it is here.
Posted to easyant-commits@incubator.apache.org by jl...@apache.org on 2012/07/27 10:39:39 UTC

svn commit: r1366332 - in /incubator/easyant/plugins/trunk/easyant-plugin-publication/src: main/resources/easyant-plugin-publication.ant test/ test/antunit/ test/antunit/easyant-plugin-publication-test.xml test/antunit/sample-module.ivy

Author: jlboudart
Date: Fri Jul 27 10:39:38 2012
New Revision: 1366332

URL: http://svn.apache.org/viewvc?rev=1366332&view=rev
Log:
Add easyant-plugin-publication test case

Added:
    incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/
    incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/
    incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/easyant-plugin-publication-test.xml
    incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/sample-module.ivy
Modified:
    incubator/easyant/plugins/trunk/easyant-plugin-publication/src/main/resources/easyant-plugin-publication.ant

Modified: incubator/easyant/plugins/trunk/easyant-plugin-publication/src/main/resources/easyant-plugin-publication.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/easyant-plugin-publication/src/main/resources/easyant-plugin-publication.ant?rev=1366332&r1=1366331&r2=1366332&view=diff
==============================================================================
--- incubator/easyant/plugins/trunk/easyant-plugin-publication/src/main/resources/easyant-plugin-publication.ant (original)
+++ incubator/easyant/plugins/trunk/easyant-plugin-publication/src/main/resources/easyant-plugin-publication.ant Fri Jul 27 10:39:38 2012
@@ -22,16 +22,17 @@
     <ea:core-version requiredrevision="[0.9,+]" />
 
     <ea:import mrid="org.apache.easyant.plugins#ivy-publication;0.9" />
+    <ea:import mrid="org.apache.easyant.plugins#abstract-test;0.9" />
+    <ea:import mrid="org.apache.easyant.plugins#abstract-provisioning;0.9" />
 
-    <target name="easyant-plugin-publication:init">
-        <ea:parameter property="publish.plugin.before.test"
-                description="defines if easyant should publish the plugin before running test"/>
-    </target>
+    <ea:parameter property="publish.plugin.before.test"
+        description="defines if easyant should publish the plugin before running test"/>
+    <ea:parameter property="target.artifacts" default="${target}/artifacts" description="destination directory for target artifacts"/>
 
     <!--
         publish in build scoped repository before test 
     -->
-    <target name="easyant-plugin-publication:before-test" depends="easyant-plugin-publication:init" if="publish.plugin.before.test">
+    <target name="easyant-plugin-publication:before-test" depends="abstract-provisioning:provisioning-finished" extensionOf="abstract-test:test-ready" if="publish.plugin.before.test">
         <ea:configure-build-scoped-repository buildScopedRepositoryName="build" settingsRef="easyant.ivy.instance"/>
         <ivy:publish artifactspattern="${target.artifacts}/[artifact](-[classifier]).[ext]" resolver="build"  forcedeliver="true" overwrite="true" settingsRef="easyant.ivy.instance" />
     </target>

Added: incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/easyant-plugin-publication-test.xml
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/easyant-plugin-publication-test.xml?rev=1366332&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/easyant-plugin-publication-test.xml (added)
+++ incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/easyant-plugin-publication-test.xml Fri Jul 27 10:39:38 2012
@@ -0,0 +1,59 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project name="org.apache.easyant.plugins;easyant-plugin-publication-test" 
+    xmlns:au="antlib:org.apache.ant.antunit" 
+    xmlns:ivy="antlib:org.apache.ivy.ant"
+    xmlns:ea="antlib:org.apache.easyant">
+    
+    <!-- Import your plugin --> 
+    <property name="target" value="target/test-antunit"/>
+    <!-- configure easyant in current project -->
+    <ea:configure-easyant-ivy-instance />
+    <!-- import our local plugin -->
+    <ea:import-test-module moduleIvy="../../../module.ivy" sourceDirectory="../../main/resources"/>
+   
+    <!-- Defines a setUp / tearDown (before each test) that cleans the environnement --> 
+    <target name="clean" description="remove stale build artifacts before / after each test">
+        <delete dir="${basedir}" includeemptydirs="true">
+            <include name="**/target/**"/>
+            <include name="**/lib/**"/>
+        </delete>
+    </target>
+    
+    <target name="setUp" depends="clean">
+      <property name="publish.plugin.before.test" value="true"/>
+      <property name="project.ivy.instance" value="project.ivy.instance"/>
+      <ivy:settings id="${project.ivy.instance}"/>
+      <ivy:resolve file="sample-module.ivy" settingsRef="${project.ivy.instance}"/>
+      <!-- 
+          FIXME:this plugin assume artifacts are already in target/artifacts 
+          This job is done by resources-std-plugin, should we add an import of this plugin there ?
+      -->
+      <mkdir dir="${target}/artifacts"/>
+      <echo file="${target}/artifacts/sample-easyant-plugin.ant"/>
+    </target>
+    <target name="tearDown" depends="clean"/>
+
+    <target name="test-easyant-plugin-publication:before-test" depends="easyant-plugin-publication:before-test">
+        <au:assertLogContains text="Registering build scoped repository in" level="debug"/>
+        <au:assertLogContains text=":: publishing :: org.apache.easyant#sample-easyant-plugin"/>
+        <au:assertLogContains text=":: publishing :: org.apache.easyant#sample-easyant-plugin"/>
+        <au:assertLogContains text="published sample-easyant-plugin to"/>
+        <au:assertLogContains text="published ivy to"/>
+    </target>
+
+</project>

Added: incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/sample-module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/sample-module.ivy?rev=1366332&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/sample-module.ivy (added)
+++ incubator/easyant/plugins/trunk/easyant-plugin-publication/src/test/antunit/sample-module.ivy Fri Jul 27 10:39:38 2012
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+    <info organisation="org.apache.easyant" module="sample-easyant-plugin" revision="0.1" status="integration"/>
+    <publications>
+        <artifact type="ant"/>
+    </publications>
+
+</ivy-module>