Project

General

Profile

« Previous | Next » 

Revision 48394

[maven-release-plugin] copy for tag icm-iis-primer-maven-plugin-0.0.2

View differences:

modules/icm-iis-primer-maven-plugin/tags/icm-iis-primer-maven-plugin-0.0.2/src/main/java/eu/dnetlib/maven/plugin/primer/PrimerMojo.java
1
package eu.dnetlib.maven.plugin.primer;
2

  
3
import eu.dnetlib.iis.primer.*;
4
import org.apache.commons.io.filefilter.WildcardFileFilter;
5
import org.apache.maven.plugin.AbstractMojo;
6
import org.apache.maven.plugin.MojoExecutionException;
7
import org.apache.maven.plugin.MojoFailureException;
8
import org.apache.maven.plugins.annotations.Mojo;
9
import org.apache.maven.plugins.annotations.Parameter;
10

  
11
import java.io.File;
12
import java.io.FileFilter;
13
import java.util.List;
14
import java.util.Locale;
15

  
16
/**
17
 * This plugin processes import.txt files in specified classpath and stores the results.
18
 *
19
 * @author Mateusz Fedoryszak (m.fedoryszak@icm.edu.pl)
20
 */
21
@Mojo(name = "prime")
22
public class PrimerMojo extends AbstractMojo {
23
    /**
24
     * Class providers. They may be either directories with appropriate layout or jars. Wildcards are supported
25
     * in the last path element.
26
     */
27
    @Parameter(property = "prime.classProviders")
28
    private List<File> classProviderFiles;
29

  
30
    /**
31
     * A directory containing CoAnSys workflow packages.
32
     */
33
    @Parameter
34
    private File coansysPackageDir;
35

  
36
    /**
37
     * A package to be primed.
38
     */
39
    @Parameter
40
    private String classpath = "";
41

  
42
    /**
43
     * A directory where a primed package will be put.
44
     */
45
    @Parameter
46
    private File destination;
47

  
48
    @Override
49
    public void execute() throws MojoExecutionException, MojoFailureException {
50
        Loader loader = new Loader();
51
        for (File file : classProviderFiles) {
52
            getLog().debug(file.toString());
53
            try {
54
                for (File f : file.getParentFile().listFiles((FileFilter) new WildcardFileFilter(file.getName()))) {
55
                    try {
56
                        getLog().info(f.toString());
57
                        if (f.getName().toLowerCase(Locale.ENGLISH).endsWith(".jar")) {
58
                            loader.addClassProvider(new JarClassProvider(f));
59
                        } else {
60
                            loader.addClassProvider(new FileSystemClassProvider(f));
61
                        }
62
                    } catch (Exception e) {
63
                        e.printStackTrace();
64
                    }
65
                }
66
            } catch (Exception e) {
67
                e.printStackTrace();
68
            }
69
        }
70

  
71
        Resolver resolver = new Resolver();
72
        ClasspathResolvingService classpathResolvingService = new ClasspathResolvingService(loader);
73
        resolver.addService("classpath", classpathResolvingService);
74

  
75
        if (coansysPackageDir != null) {
76
            resolver.addService(
77
                    "coansys",
78
                    new CoansysResolvingService(new FileSystemCoansysWorkflowPackageSupplier(coansysPackageDir)));
79
        }
80

  
81
        getLog().info("Priming " + classpath + " into " + destination.getAbsolutePath());
82

  
83
        try {
84
            loader.prime(classpath, destination, resolver);
85
        } catch (Exception e) {
86
            throw new MojoExecutionException("Error while priming " + classpath + " to " + destination, e);
87
        }
88
    }
89
}
modules/icm-iis-primer-maven-plugin/tags/icm-iis-primer-maven-plugin-0.0.2/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2
    <groupId>eu.dnetlib</groupId>
3
    <version>0.0.2</version>
4
    <modelVersion>4.0.0</modelVersion>
5
    <artifactId>icm-iis-primer-maven-plugin</artifactId>
6
    <packaging>maven-plugin</packaging>
7

  
8
    <name>icm-iis-classpath-primer-maven-plugin</name>
9
    <url>http://maven.apache.org</url>
10

  
11
    <scm>
12
      <developerConnection>
13
        scm:svn:https://svn.driver.research-infrastructures.eu/driver/dnet45/modules/icm-iis-primer-maven-plugin/tags/icm-iis-primer-maven-plugin-0.0.2
14
      </developerConnection>
15
    </scm>
16

  
17
    <properties>
18
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
19
    </properties>
20

  
21
    <repositories>
22
        <repository>
23
            <id>dnet-deps</id>
24
            <name>dnet-dependencies</name>
25
            <url>http://maven.research-infrastructures.eu/nexus/content/repositories/dnet-deps</url>
26
            <layout>default</layout>
27
        </repository>
28
    </repositories>
29

  
30
    <build>
31
        <plugins>
32
            <plugin>
33
                <artifactId>maven-compiler-plugin</artifactId>
34
                <version>2.3.2</version>
35
                <configuration>
36
                    <source>1.6</source>
37
                    <target>1.6</target>
38
                </configuration>
39
            </plugin>
40
        </plugins>
41
        <pluginManagement>
42
            <plugins>
43
                <plugin>
44
                    <groupId>org.apache.maven.plugins</groupId>
45
                    <artifactId>maven-plugin-plugin</artifactId>
46
                    <version>3.2</version>
47
                    <configuration>
48
                        <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
49
                    </configuration>
50
                    <executions>
51
                        <execution>
52
                            <id>mojo-descriptor</id>
53
                            <phase>process-classes</phase>
54
                            <goals>
55
                                <goal>descriptor</goal>
56
                            </goals>
57
                        </execution>
58
                    </executions>
59
                </plugin>
60
            </plugins>
61
        </pluginManagement>
62
    </build>
63

  
64
    <dependencies>
65
        <dependency>
66
            <groupId>org.apache.maven</groupId>
67
            <artifactId>maven-plugin-api</artifactId>
68
            <version>3.0.5</version>
69
        </dependency>
70
        <dependency>
71
            <groupId>org.apache.maven.plugin-tools</groupId>
72
            <artifactId>maven-plugin-annotations</artifactId>
73
            <version>3.2</version>
74
            <scope>provided</scope>
75
        </dependency>
76
        <dependency>
77
            <groupId>eu.dnetlib</groupId>
78
            <artifactId>icm-iis-primer</artifactId>
79
            <version>[0.0.1,1.0.0)</version>
80
        </dependency>
81
        <dependency>
82
            <groupId>junit</groupId>
83
            <artifactId>junit</artifactId>
84
            <version>4.10</version>
85
            <scope>test</scope>
86
        </dependency>
87

  
88
    </dependencies>
89

  
90
    <distributionManagement>
91
        <repository>
92
        <id>dnet45-bootstrap-release</id>
93
        <url>
94
        http://maven.research-infrastructures.eu/nexus/content/repositories/dnet45-bootstrap-release
95
        </url>
96
        </repository>
97
    </distributionManagement>
98

  
99
</project>
modules/icm-iis-primer-maven-plugin/tags/icm-iis-primer-maven-plugin-0.0.2/README.markdown
1
This project wraps icm-iis-primer into a Maven plugin. Example project using
2
this plugin is icm-iis-primer-example.
3

  
4
Getting help (you may need to change plugin version):
5
mvn help:describe -Ddetail -DgroupId=eu.dnetlib -DartifactId=icm-iis-primer-maven-plugin -Dversion=0.0.1-SNAPSHOT

Also available in: Unified diff