Commit b17c5128 authored by Maxime Lefrançois's avatar Maxime Lefrançois
Browse files

modularized pipeline

parent 3559c90c
Loading
Loading
Loading
Loading

pom.xml

deleted100644 → 0
+0 −136
Original line number Original line Diff line number Diff line
<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">
	<modelVersion>4.0.0</modelVersion>
	<groupId>fr.emse.gitlab.saref</groupId>
	<artifactId>saref-pipeline</artifactId>
	<version>1.0-SNAPSHOT</version>
	<name>saref-pipeline</name>

	<developers>
		<developer>
			<name>Omar Qawasmeh</name>
			<email>omar.alqawasmeh@emse.fr</email>
			<url>https://perso.univ-st-etienne.fr/alo09685/</url>
			<organization>Ecole des mines de Saint-Etienne</organization>
			<organizationUrl>http://www.mines-stetienne.fr/</organizationUrl>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<name>Maxime Lefrançois</name>
			<email>maxime.lefrancois@emse.fr</email>
			<url>http://www.maxime-lefrancois.info/</url>
			<organization>Ecole des mines de Saint-Etienne</organization>
			<organizationUrl>http://www.mines-stetienne.fr/</organizationUrl>
			<timezone>+1</timezone>
		</developer>
	</developers>

	<organization>
		<name>École des Mines de Saint-Étienne</name>
		<url>http://www.mines-stetienne.fr/</url>
	</organization>

	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>

	<properties>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format>
		<jdk.version>1.8</jdk.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<sparql-generate.version>2.0-SNAPSHOT</sparql-generate.version>
	</properties>

	<dependencies>
<!-- 		<dependency> -->
<!-- 			<groupId>org.topbraid</groupId> -->
<!-- 			<artifactId>shacl</artifactId> -->
<!-- 			<version>1.3.1</version> -->
<!-- 		</dependency> -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.7.25</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-xml</artifactId>
			<version>2.10.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.jena</groupId>
			<artifactId>jena-tdb</artifactId>
			<version>3.4.0</version>
		</dependency>
		<dependency>
			<groupId>fr.emse.ci</groupId>
			<artifactId>sparql-generate-jena</artifactId>
			<version>2.0-SNAPSHOT</version>
		</dependency>
		<dependency>
			<groupId>fr.emse.ci</groupId>
			<artifactId>sparql-generate-markdown</artifactId>
			<version>2.0-SNAPSHOT</version>
		</dependency>
		<dependency>
			<!-- see Porcelain https://git-scm.com/book/uz/v2/Appendix-B%3A-Embedding-Git-in-your-Applications-JGit -->
			<groupId>org.eclipse.jgit</groupId>
			<artifactId>org.eclipse.jgit</artifactId>
			<version>5.2.1.201812262042-r</version>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.8.2</version>
			<type>jar</type>
		</dependency>
	</dependencies>

	<build>
		<finalName>${project.artifactId}</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>2.4.1</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<transformers>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<mainClass>fr.emse.gitlab.saref.Main
									</mainClass>
								</transformer>
							</transformers>
							<filters>
								<filter>
									<artifact>*:*</artifact>
									<excludes>
										<exclude>META-INF/*.SF</exclude>
										<exclude>META-INF/*.DSA</exclude>
										<exclude>META-INF/*.RSA</exclude>
									</excludes>
								</filter>
							</filters>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>



</project>
 No newline at end of file
+1 −0
Original line number Original line Diff line number Diff line
/target/
+97 −0
Original line number Original line Diff line number Diff line
<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">
	<modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>fr.emse.gitlab.saref</groupId>
        <artifactId>saref-pipeline-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../saref-pipeline-parent/pom.xml</relativePath>
    </parent>

	<artifactId>saref-pipeline-cli</artifactId>
	<name>SAREF-Pipeline-cli</name>
	<packaging>jar</packaging>

  <developers>
    <developer>
      <name>Omar Qawasmeh</name>
      <email>omar.alqawasmeh@emse.fr</email>
      <url>https://perso.univ-st-etienne.fr/alo09685/</url>
      <organization>Ecole des mines de Saint-Etienne</organization>
      <organizationUrl>http://www.mines-stetienne.fr/</organizationUrl>
      <timezone>+1</timezone>
    </developer>
  </developers>

  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.25</version>
    </dependency>

    <dependency>
<!--       see Porcelain https://git-scm.com/book/uz/v2/Appendix-B%3A-Embedding-Git-in-your-Applications-JGit -->
      <groupId>org.eclipse.jgit</groupId>
      <artifactId>org.eclipse.jgit</artifactId>
      <version>5.2.1.201812262042-r</version>
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.2</version>
      <type>jar</type>
    </dependency>
	<dependency>
	    <groupId>commons-cli</groupId>
	    <artifactId>commons-cli</artifactId>
	    <version>1.4</version>
	</dependency>
	<dependency>
		<groupId>fr.emse.gitlab.saref</groupId>
        <artifactId>saref-pipeline-core</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>

  <build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.4.1</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>fr.emse.gitlab.saref.Main
                  </mainClass>
                </transformer>
              </transformers>
              <filters>
                <filter>
                  <artifact>*:*</artifact>
                  <excludes>
                    <exclude>META-INF/*.SF</exclude>
                    <exclude>META-INF/*.DSA</exclude>
                    <exclude>META-INF/*.RSA</exclude>
                  </excludes>
                </filter>
              </filters>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>
 No newline at end of file
+47 −0
Original line number Original line Diff line number Diff line
/**
 * 
 */
package fr.emse.gitlab.saref;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;

/**
 * @author Omar Qawasmeh
 *
 */
public class CMDConfigurations {

	public static final String ARG_HELP = "h";
	public static final String ARG_HELP_LONG = "help";
	public static final String ARG_HELP_MAN = "Show help";
	public static final String ARG_INIT = "i";
	public static final String ARG_INIT_LONG = "init";
	public static final String ARG_INIT_MAN = "Initialize a new SAREF extension development in the current directory";
	public static final String ARG_DIRECTORY = "d";
	public static final String ARG_DIRECTORY_DEFAULT = "";
	public static final String ARG_DIRECTORY_LONG = "dir";
	public static final String ARG_DIRECTORY_MAN = "Location of the SAREF extension directory (default is .)";
	
	public static CommandLine parseArguments(String[] args) throws ParseException {
		DefaultParser commandLineParser = new DefaultParser();
		CommandLine cl = commandLineParser.parse(getCMDOptions(), args);
		return cl;
	}

	public static Options getCMDOptions() {
		return new Options().addOption(ARG_HELP, ARG_HELP_LONG, false, ARG_HELP_MAN)
				.addOption(ARG_INIT, ARG_INIT_LONG, true, ARG_INIT_MAN)
				.addOption(ARG_DIRECTORY, ARG_DIRECTORY_LONG, true, ARG_DIRECTORY_MAN);
	}

	public static void displayHelp() {
		HelpFormatter formatter = new HelpFormatter();
		formatter.printHelp("java -jar saref-pipeline.jar", getCMDOptions());
		System.exit(-1);
	}

}
+22 −3
Original line number Original line Diff line number Diff line
package fr.emse.gitlab.saref;
package fr.emse.gitlab.saref;


import static fr.emse.gitlab.saref.CMDConfigurations.*;

import java.awt.Desktop;
import java.awt.Desktop;
import java.io.File;
import java.io.File;
import java.io.IOException;
import java.io.IOException;
@@ -12,14 +14,16 @@ import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Marshaller;


import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.ParseException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FileUtils;
import org.apache.log4j.Layout;
import org.apache.log4j.Layout;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.PatternLayout;
import org.slf4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.LoggerFactory;


import fr.emse.gitlab.saref.api.JobRunner;
import fr.emse.gitlab.saref.entities.TestSuites;
import fr.emse.gitlab.saref.entities.TestSuites;
import fr.emse.gitlab.saref.jobs.JobRunner;
import fr.emse.gitlab.saref.jobs.library.ReadOntologies;
import fr.emse.gitlab.saref.jobs.library.ReadOntologies;
import fr.emse.gitlab.saref.jobs.library.RepositoryStructureChecker;
import fr.emse.gitlab.saref.jobs.library.RepositoryStructureChecker;
import fr.emse.gitlab.saref.utils.SAREF;
import fr.emse.gitlab.saref.utils.SAREF;
@@ -34,7 +38,22 @@ public class Main {
	private static File directory;
	private static File directory;
	private static File target;
	private static File target;


	public static void main(String[] args) throws IOException, InterruptedException, URISyntaxException, JAXBException {
	public static void main(String[] args) throws IOException, InterruptedException, URISyntaxException, JAXBException, ParseException {
		CommandLine cl = CMDConfigurations.parseArguments(args);

		if (cl.getOptions().length == 0 || cl.hasOption(ARG_HELP)) {
			CMDConfigurations.displayHelp();
			return;
		}

		String dirName = cl.getOptionValue(ARG_DIRECTORY, ARG_DIRECTORY_DEFAULT);
		if (dirName.equals("")) {
			dirName = ARG_DIRECTORY_DEFAULT;
		}


		
		
		if (args.length == 0) {
		if (args.length == 0) {
			directory = new File("").getAbsoluteFile();
			directory = new File("").getAbsoluteFile();
		} else if (args.length > 1) {
		} else if (args.length > 1) {
@@ -45,8 +64,8 @@ public class Main {
		}
		}
		
		
		target = new File(directory, "target");
		target = new File(directory, "target");
		FileUtils.forceDelete(target);
		FileUtils.forceMkdir(target);
		FileUtils.forceMkdir(target);
		
		File logFile = new File(directory, "target/output.log");
		File logFile = new File(directory, "target/output.log");
		ROOT_LOGGER.addAppender(new org.apache.log4j.RollingFileAppender(LAYOUT, logFile.getAbsolutePath(), false));
		ROOT_LOGGER.addAppender(new org.apache.log4j.RollingFileAppender(LAYOUT, logFile.getAbsolutePath(), false));


Loading