diff options
author | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2010-10-14 09:13:30 +0000 |
---|---|---|
committer | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2010-10-14 09:13:30 +0000 |
commit | 775ae0d8549e59b7f625a91a82cc6b88119cce77 (patch) | |
tree | 9d0175e13890bda3bbc8727ca97c4bc7892d30ca | |
parent | 08ac4a7b286b567c5a5a1d711a89ca388ba60ff2 (diff) |
TUSCANY-3722: Check for correct versions of jaxws-api jar and pom in local maven repository
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1022436 13f79535-47bb-0310-9956-ffa450edef68
2 files changed, 105 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/pom.xml b/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/pom.xml index e22b783cd5..953884dcd4 100644 --- a/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/pom.xml +++ b/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/pom.xml @@ -36,6 +36,20 @@ <tuscany.version>${pom.version}</tuscany.version> </properties> + <repositories> + <!-- search this repository first because it contains the correct version + of jaxws-api-2.1.jar --> + <repository> + <snapshots> + <enabled>true</enabled> + </snapshots> + <id>java.net</id> + <name>java.net Maven 1.x Repository</name> + <url>http://download.java.net/maven/1</url> + <layout>legacy</layout> + </repository> + </repositories> + <dependencies> <dependency> <groupId>${pom.groupId}</groupId> @@ -654,6 +668,29 @@ <plugin> <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.1</version> + <executions> + <execution> + <id>check-local-repository</id> + <phase>compile</phase> + <goals> + <goal>exec</goal> + </goals> + </execution> + </executions> + <configuration> + <executable>java</executable> + <arguments> + <argument>-cp</argument> + <argument>${basedir}/target/classes</argument> + <argument>org.apache.tuscany.sca.distribution.CheckLocalRepository</argument> + <argument>${settings.localRepository}</argument> + </arguments> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> <artifactId>shade-maven-plugin</artifactId> <version>1.0-alpha-7</version> <executions> diff --git a/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/src/main/java/org/apache/tuscany/sca/distribution/CheckLocalRepository.java b/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/src/main/java/org/apache/tuscany/sca/distribution/CheckLocalRepository.java new file mode 100644 index 0000000000..eee32d7dcb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/src/main/java/org/apache/tuscany/sca/distribution/CheckLocalRepository.java @@ -0,0 +1,68 @@ +/*
+ * 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.
+ */
+package org.apache.tuscany.sca.distribution;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.util.jar.JarFile;
+
+public class CheckLocalRepository {
+
+ public static void main(String[] args) {
+ String repo = args[0];
+ checkJarFile(repo);
+ checkPomFile(repo);
+ System.exit(0);
+ }
+
+ private static void checkJarFile(String repo) {
+ try {
+ JarFile jaxwsJar = new JarFile(repo + "/javax/xml/ws/jaxws-api/2.1/jaxws-api-2.1.jar");
+ if (jaxwsJar.getEntry("javax/xml/ws/soap/Addressing.class") != null) {
+ return;
+ }
+ } catch (Exception e) {
+ }
+ System.out.println("===================================================================");
+ System.out.println("ERROR: Incorrect version of jaxws-api jar in local maven repository");
+ System.out.println("ERROR: To fix this, delete the javax/xml/ws/jaxws-api/2.1 directory");
+ System.out.println("ERROR: and rerun the distribution build");
+ System.out.println("===================================================================");
+ System.exit(1);
+ }
+
+ private static void checkPomFile(String repo) {
+ try {
+ FileReader jaxwsPom = new FileReader(repo + "/javax/xml/ws/jaxws-api/2.1/jaxws-api-2.1.pom");
+ BufferedReader reader = new BufferedReader(jaxwsPom);
+ while (true) {
+ if (reader.readLine().contains("saaj-api")) {
+ return;
+ }
+ }
+ } catch (Exception e) {
+ }
+ System.out.println("===================================================================");
+ System.out.println("ERROR: Incorrect version of jaxws-api pom in local maven repository");
+ System.out.println("ERROR: To fix this, delete the javax/xml/ws/jaxws-api/2.1 directory");
+ System.out.println("ERROR: and rerun the distribution build");
+ System.out.println("===================================================================");
+ System.exit(1);
+ }
+}
|