versionsId
property value.
62 | * @param from The string from which we set.
63 | */
64 | @Override
65 | public void setFrom(String from) {
66 | String[] split = StringUtils.split(from, File.pathSeparator);
67 | // sort, from lengthiest to smallest
68 | Arrays.sort(split, this);
69 | versions = Arrays.asList(split);
70 | }
71 |
72 | /**
73 | * By default, only filename is changed, but if this attribute is set to flatten
, directory is removed.
74 | * @param to {@link #to}
75 | */
76 | @Override
77 | public void setTo(String to) {
78 | this.to = to;
79 | }
80 |
81 | /** {@inheritDoc} */
82 | @Override
83 | public int compare(String s1, String s2) {
84 | int lengthDiff = s2.length() - s1.length();
85 | return (lengthDiff != 0) ? lengthDiff : s1.compareTo(s2);
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/src/main/java/org/apache/maven/plugins/antrun/AntrunXmlPlexusConfigurationWriter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 | package org.apache.maven.plugins.antrun;
20 |
21 | import java.io.BufferedOutputStream;
22 | import java.io.File;
23 | import java.io.FileOutputStream;
24 | import java.io.IOException;
25 | import java.util.Arrays;
26 | import java.util.HashSet;
27 | import java.util.Set;
28 |
29 | import org.codehaus.plexus.configuration.PlexusConfiguration;
30 | import org.codehaus.plexus.util.xml.Xpp3DomUtils;
31 | import org.codehaus.plexus.util.xml.pull.MXSerializer;
32 | import org.codehaus.plexus.util.xml.pull.XmlSerializer;
33 |
34 | /**
35 | * Write the Ant target Plexus configuration to an XML file.
36 | */
37 | class AntrunXmlPlexusConfigurationWriter {
38 |
39 | private static final SetinheritRefs
is set to true
26 | * (which would otherwise pass a clone).
27 | *
28 | * @author gboue
29 | */
30 | public class MavenAntRunProject {
31 |
32 | private MavenProject mavenProject;
33 |
34 | public MavenAntRunProject(MavenProject mavenProject) {
35 | this.mavenProject = mavenProject;
36 | }
37 |
38 | public MavenProject getMavenProject() {
39 | return mavenProject;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/org/apache/maven/plugins/antrun/MavenLogger.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 | package org.apache.maven.plugins.antrun;
20 |
21 | import java.io.PrintStream;
22 |
23 | import org.apache.maven.plugin.logging.Log;
24 | import org.apache.tools.ant.DefaultLogger;
25 | import org.apache.tools.ant.Project;
26 |
27 | /**
28 | * Redirects build events from {@link DefaultLogger} to {@link Log}.
29 | */
30 | public class MavenLogger extends DefaultLogger {
31 |
32 | private final Log log;
33 |
34 | public MavenLogger(Log log) {
35 | this.log = log;
36 | }
37 |
38 | @Override
39 | protected void printMessage(final String message, final PrintStream stream, final int priority) {
40 | switch (priority) {
41 | case Project.MSG_ERR:
42 | log.error(message);
43 | break;
44 | case Project.MSG_WARN:
45 | log.warn(message);
46 | break;
47 | case Project.MSG_DEBUG:
48 | case Project.MSG_VERBOSE:
49 | log.debug(message);
50 | break;
51 | case Project.MSG_INFO:
52 | default:
53 | log.info(message);
54 | break;
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/src/main/mdo/antrun.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
21 |
22 |
73 | Maven has certain benefits over Ant. And for your Ant projects to take 31 | advantage of these, you can use Maven as your project management tool and 32 | use its maven-antrun-plugin to build your Ant projects.
33 |Furthermore, if you wish to migrate from Ant to Maven, you can use 34 | this plugin first, then gradually convert your Ant expressions into their 35 | corresponding Maven expressions.
36 |