FELIX-3299: fix unstable test on Java5
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1243078 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundleplugin/src/test/java/org/apache/felix/bundleplugin/ArtifactStubFactory.java b/bundleplugin/src/test/java/org/apache/felix/bundleplugin/ArtifactStubFactory.java
new file mode 100644
index 0000000..688acc6
--- /dev/null
+++ b/bundleplugin/src/test/java/org/apache/felix/bundleplugin/ArtifactStubFactory.java
@@ -0,0 +1,76 @@
+package org.apache.felix.bundleplugin;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.io.IOException;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+
+/**
+ * Fixed version of class that uses stable set ordering for reliable testing.
+ */
+@SuppressWarnings( { "rawtypes", "unchecked" } )
+class ArtifactStubFactory extends org.apache.maven.plugin.testing.ArtifactStubFactory
+{
+
+ public ArtifactStubFactory( File workingDir, boolean createFiles )
+ {
+ super( workingDir, createFiles );
+ }
+
+ @Override
+ public Set getClassifiedArtifacts() throws IOException
+ {
+ Set set = new LinkedHashSet();
+ set.add( createArtifact( "g", "a", "1.0", Artifact.SCOPE_COMPILE, "jar", "one" ) );
+ set.add( createArtifact( "g", "b", "1.0", Artifact.SCOPE_COMPILE, "jar", "two" ) );
+ set.add( createArtifact( "g", "c", "1.0", Artifact.SCOPE_COMPILE, "jar", "three" ) );
+ set.add( createArtifact( "g", "d", "1.0", Artifact.SCOPE_COMPILE, "jar", "four" ) );
+ return set;
+ }
+
+ @Override
+ public Set getScopedArtifacts() throws IOException
+ {
+ Set set = new LinkedHashSet();
+ set.add( createArtifact( "g", "compile", "1.0", Artifact.SCOPE_COMPILE ) );
+ set.add( createArtifact( "g", "provided", "1.0", Artifact.SCOPE_PROVIDED ) );
+ set.add( createArtifact( "g", "test", "1.0", Artifact.SCOPE_TEST ) );
+ set.add( createArtifact( "g", "runtime", "1.0", Artifact.SCOPE_RUNTIME ) );
+ set.add( createArtifact( "g", "system", "1.0", Artifact.SCOPE_SYSTEM ) );
+ return set;
+ }
+
+ @Override
+ public Set getTypedArtifacts() throws IOException
+ {
+ Set set = new LinkedHashSet();
+ set.add( createArtifact( "g", "a", "1.0", Artifact.SCOPE_COMPILE, "war", null ) );
+ set.add( createArtifact( "g", "b", "1.0", Artifact.SCOPE_COMPILE, "jar", null ) );
+ set.add( createArtifact( "g", "c", "1.0", Artifact.SCOPE_COMPILE, "sources", null ) );
+ set.add( createArtifact( "g", "d", "1.0", Artifact.SCOPE_COMPILE, "zip", null ) );
+ set.add( createArtifact( "g", "e", "1.0", Artifact.SCOPE_COMPILE, "rar", null ) );
+ return set;
+ }
+
+}
diff --git a/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java b/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java
index 44c7f97..5aad008 100644
--- a/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java
+++ b/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java
@@ -32,7 +32,6 @@
import java.util.jar.Manifest;
import org.apache.maven.model.Organization;
-import org.apache.maven.plugin.testing.ArtifactStubFactory;
import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
@@ -268,11 +267,11 @@
Manifest manifest = builder.getJar().getManifest();
String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
- assertEquals( ".," + "e-1.0.rar," + "a-1.0.war," + "d-1.0.zip", bcp );
+ assertEquals( ".," + "a-1.0.war," + "d-1.0.zip," + "e-1.0.rar", bcp );
String eas = manifest.getMainAttributes().getValue( "Embedded-Artifacts" );
- assertEquals( "e-1.0.rar;g=\"g\";a=\"e\";v=\"1.0\"," + "a-1.0.war;g=\"g\";a=\"a\";v=\"1.0\","
- + "d-1.0.zip;g=\"g\";a=\"d\";v=\"1.0\"", eas );
+ assertEquals( "a-1.0.war;g=\"g\";a=\"a\";v=\"1.0\"," + "d-1.0.zip;g=\"g\";a=\"d\";v=\"1.0\","
+ + "e-1.0.rar;g=\"g\";a=\"e\";v=\"1.0\"", eas );
}
@@ -360,11 +359,11 @@
Manifest manifest2 = builder2.getJar().getManifest();
String bcp1 = manifest1.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
- assertEquals( ".," + "test-1.0.jar," + "provided-1.0.jar," + "runtime-1.0.jar," + "system-1.0.jar", bcp1 );
+ assertEquals( ".," + "provided-1.0.jar," + "test-1.0.jar," + "runtime-1.0.jar," + "system-1.0.jar", bcp1 );
String eas1 = manifest1.getMainAttributes().getValue( "Embedded-Artifacts" );
- assertEquals( "test-1.0.jar;g=\"g\";a=\"test\";v=\"1.0\","
- + "provided-1.0.jar;g=\"g\";a=\"provided\";v=\"1.0\"," + "runtime-1.0.jar;g=\"g\";a=\"runtime\";v=\"1.0\","
+ assertEquals( "provided-1.0.jar;g=\"g\";a=\"provided\";v=\"1.0\","
+ + "test-1.0.jar;g=\"g\";a=\"test\";v=\"1.0\"," + "runtime-1.0.jar;g=\"g\";a=\"runtime\";v=\"1.0\","
+ "system-1.0.jar;g=\"g\";a=\"system\";v=\"1.0\"", eas1 );
String bcp2 = manifest2.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );