Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Include the plugin in your maven project, and use the pom.xml configuration dire
<plugin>
<groupId>com.murphybob</groupId>
<artifactId>spritepacker-maven-plugin</artifactId>
<version>0.9</version>
<version>0.10.0</version>
<configuration>
<sourceDirectory>${project.basedir}/src/images/sprites/</sourceDirectory>
<includes>
Expand All @@ -25,14 +25,14 @@ Include the plugin in your maven project, and use the pom.xml configuration dire
<output>${project.build.directory}/images/assets-sprite.png</output>
<json>${project.build.directory}/images/assets-sprite.json</json>
<padding>10</padding>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>

Configuration
Expand Down
88 changes: 57 additions & 31 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,42 +1,68 @@
<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>com.murphybob</groupId>
<artifactId>spritepacker-maven-plugin</artifactId>
<version>0.9.0</version>
<packaging>maven-plugin</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.11</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>2.0</version>
</dependency>
<modelVersion>4.0.0</modelVersion>
<groupId>com.murphybob</groupId>
<artifactId>spritepacker-maven-plugin</artifactId>
<version>0.10.0</version>
<packaging>maven-plugin</packaging>
<name>spritepacker-maven-plugin Maven Mojo</name>
<prerequisites>
<maven>3.0.0</maven>
</prerequisites>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.2</version>
<executions>
<execution>
<id>default-descriptor</id>
<goals>
<goal>descriptor</goal>
</goals>
<phase>process-classes</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.2</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.12</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0</version>
<version>3.0.17</version>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-build-api</artifactId>
<version>0.0.7</version>
</dependency>
</dependencies>
</dependencies>
</project>
42 changes: 18 additions & 24 deletions src/com/murphybob/spritepacker/Spritepacker.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,75 +20,69 @@

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;


/**
* Packs spritesheets from supplied images.
*
* @author Robert Murphy
* @goal compile
* @phase process-sources
*/
@Mojo( name = "compile", defaultPhase = LifecyclePhase.PROCESS_SOURCES )
public class Spritepacker extends AbstractMojo {

private static long startTime = System.currentTimeMillis();

/**
* Output spritesheet image name
*
* @parameter expression="${spritepacker.output}"
* @required
*/
private static File output;
@Parameter( required = true )
private File output;

/**
* Output json(p) description file containing coords and dimensions.
*
* @parameter expression="${spritepacker.json}"
*/
private static File json;
@Parameter
private File json;

/**
* Optional padding variable for jsonp files
* e.g.
* { image: {...} }
* becomes
* jsonpVar = { image: {...} }
*
* @parameter expression="${spritepacker.jsonpVar}"
*/
private static String jsonpVar;
@Parameter
private String jsonpVar;

/**
* The source directory containing the LESS sources.
*
* @parameter expression="${spritepacker.sourceDirectory}"
* @required
*/
@Parameter( required = true )
private File sourceDirectory;

/**
* List of files to include. Specified as fileset patterns which are relative to the source directory. Default is all files.
*
* @parameter
*/
@Parameter
private String[] includes = new String[]{ "**/*" };

/**
* List of files to exclude. Specified as fileset patterns which are relative to the source directory.
*
* @parameter
*/
@Parameter
private String[] excludes = new String[] {};

/**
* Optional transparent padding added between images in spritesheet.
*
* @parameter expression="${spritepacker.padding}" default-value="0"
*/
private static Integer padding;
@Parameter( defaultValue = "0" )
private Integer padding;

/** @component */
@Component
private BuildContext buildContext;

/**
Expand Down Expand Up @@ -197,7 +191,7 @@ public int compare(ImageNode arg0, ImageNode arg1) {
int max1 = Math.max(arg1.image.getWidth(), arg1.image.getHeight());
return max1 - max0;
}
});
});
}

private Node packImages( ArrayList<ImageNode> images, Integer padding ){
Expand Down