Ir al contenido

Wordpress to JBake - Generación de Archivos

·207 palabras·1 min
Agustín Ventura
Autor
Agustín Ventura

Bueno, pues ya queda la parte final, lanzarlo. Creo un método main en Wp2JBake, el primer argumento será el archivo de origen y el segundo el directorio de destino. Como de toda la gestión de errores se encarga el programa en sí, lo único que tengo que hacer es capturar la posible IllegalArgumentException y listo:

public static void main (String... args) {
    if (args.length!=2) {
        System.out.println("Wp2JBake needs two arguments to work: First the input file and second the destination folder");
    } else {
        try {
            Wp2JBake exporter = new Wp2JBake(args[0], args[1]);
            Set<File> exportResult = exporter.generateJBakeMarkdown();
            if (!exportResult.isEmpty()) {
                System.out.println("Export successful in " + args[1]);
            }
        } catch (IllegalArgumentException | IllegalStateException e) {
            System.out.println("Error exporting: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Ahora queda lo de siempre, generar el jar en Maven con todas sus dependencias. Añado al pom.xml la configuración del assembly-plugin para que genere el Manifest ya que sin él, el jar no sería ejecutable y además le digo que empaquete las dependencias junto con el jar:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>com.digitalsingular.wp2jbake.Wp2JBake</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <id>assemble-all</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Y por fín se acabó, con ésto ya genero la exportación.