~ubuntu-branches/ubuntu/trusty/ivy/trusty

« back to all changes in this revision

Viewing changes to src/java/org/apache/ivy/ant/IvyConvertPom.java

  • Committer: Bazaar Package Importer
  • Author(s): Varun Hiremath
  • Date: 2009-03-06 22:04:56 UTC
  • Revision ID: james.westby@ubuntu.com-20090306220456-5v37luqiuqda8ewp
Tags: upstream-2.0.0
ImportĀ upstreamĀ versionĀ 2.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 
3
 *  contributor license agreements.  See the NOTICE file distributed with
 
4
 *  this work for additional information regarding copyright ownership.
 
5
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 
6
 *  (the "License"); you may not use this file except in compliance with
 
7
 *  the License.  You may obtain a copy of the License at
 
8
 *
 
9
 *      http://www.apache.org/licenses/LICENSE-2.0
 
10
 *
 
11
 *  Unless required by applicable law or agreed to in writing, software
 
12
 *  distributed under the License is distributed on an "AS IS" BASIS,
 
13
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
14
 *  See the License for the specific language governing permissions and
 
15
 *  limitations under the License.
 
16
 *
 
17
 */
 
18
package org.apache.ivy.ant;
 
19
 
 
20
import java.io.File;
 
21
import java.net.MalformedURLException;
 
22
import java.text.ParseException;
 
23
 
 
24
import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
 
25
import org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser;
 
26
import org.apache.ivy.plugins.repository.url.URLResource;
 
27
import org.apache.tools.ant.BuildException;
 
28
import org.apache.tools.ant.Project;
 
29
 
 
30
/**
 
31
 * Convert a pom to an ivy file
 
32
 */
 
33
public class IvyConvertPom extends IvyTask {
 
34
    private File pomFile = null;
 
35
 
 
36
    private File ivyFile = null;
 
37
 
 
38
    public File getPomFile() {
 
39
        return pomFile;
 
40
    }
 
41
 
 
42
    public void setPomFile(File file) {
 
43
        pomFile = file;
 
44
    }
 
45
 
 
46
    public File getIvyFile() {
 
47
        return ivyFile;
 
48
    }
 
49
 
 
50
    public void setIvyFile(File ivyFile) {
 
51
        this.ivyFile = ivyFile;
 
52
    }
 
53
 
 
54
    public void doExecute() throws BuildException {
 
55
        try {
 
56
            if (pomFile == null) {
 
57
                throw new BuildException("source pom file is required for convertpom task");
 
58
            }
 
59
            if (ivyFile == null) {
 
60
                throw new BuildException("destination ivy file is required for convertpom task");
 
61
            }
 
62
            ModuleDescriptor md = PomModuleDescriptorParser.getInstance().parseDescriptor(
 
63
                getSettings(), pomFile.toURI().toURL(), false);
 
64
            PomModuleDescriptorParser.getInstance().toIvyFile(pomFile.toURI().toURL().openStream(),
 
65
                new URLResource(pomFile.toURI().toURL()), getIvyFile(), md);
 
66
        } catch (MalformedURLException e) {
 
67
            throw new BuildException("unable to convert given pom file to url: " + pomFile + ": "
 
68
                    + e, e);
 
69
        } catch (ParseException e) {
 
70
            log(e.getMessage(), Project.MSG_ERR);
 
71
            throw new BuildException("syntax errors in pom file " + pomFile + ": " + e, e);
 
72
        } catch (Exception e) {
 
73
            throw new BuildException("impossible convert given pom file to ivy file: " + e
 
74
                    + " from=" + pomFile + " to=" + ivyFile, e);
 
75
        }
 
76
    }
 
77
}