2014-05-21 2 views
5

야후 smush.it을 빌드 자체에서 이미지 압축을 자동화하기 위해 maven 빌드에 통합하려고합니다.yahoo smush.it을 이미지 압축 용 maven 빌드에 통합

아무도 도와 줄 수 있습니까?

다른 라이브러리에도 열려 있습니다. [백엔드는 Java입니다.]

+0

여기 플러그인은 https://github.com/nitinsurana/yahoo-smush-maven-plugin입니다. –

답변

2

직접 자동화 할 수있는 작은 Maven 플러그인을 작성해 보셨습니까? 플러그인 API는 훌륭하고 간단합니다. here을 확인하십시오. 기본적으로, 당신은 몇 가지 XML의 매개 변수를 당신을 위해 변환을 수행하는 플러그인 프로젝트 만들 것입니다 다음 <plugins> 태그 아래에 다음과 같이 새로 작성 모조를 사용하고자하는 pom.xml에,

@Mojo(name = "compress", defaultPhase = "compile") 
public class SmushItCompressMojo extends AbstractMojo { 

    @Parameter(property = "images") 
    String[] images; 

    @Parameter(property = "destination") 
    String destination; 

    @Override 
    public void execute() throws MojoExecutionException, MojoFailureException { 
     // Validate your inputs. 
     // For each image file: 
      // Compress it using a request to smush.it. 
      // Save the compressed image to the destination file. 
     // Report any errors/success. 
    } 
} 

다음을 사용 <build> :

<plugin> 
    <groupId>com.stackoverflow</groupId> 
    <artifactId>smush-it-maven-plugin</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 
    <executions> 
     <execution> 
      <id>compress</id> 
      <goals> 
       <goal>compress</goal> 
      </goal> 
      <configuration> 
       <images> 
        <image>${project.build.directory}/../images/1.png</image> 
        <image>${project.build.directory}/../images/2.png</image> 
        <image>${project.build.directory}/../images/3.png</image> 
       </images> 
       <destination>${project.build.directory}/../src/main/resources/compressed/ 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

그런 다음 당신이 기대할 수있는 세 가지 이미지는 나중에 라이프 사이클 단계에서 포장 얻을 것이다 압축 자원 폴더에 저장합니다. 분명히 이미지가 어디서 왔는지, 구원 받는지 정확히 여기에 많은 유연성이 있습니다. 그러나 mojo 자체는 매우 간단하며 Maven을 사용하기 위해 애플리케이션 별 태스크를 자동화하는 방법입니다.