<?xml version="1.0" encoding="UTF-8"?> <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>com.vaadin</groupId> <artifactId>vaadin-root</artifactId> <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>vaadin-widgets</artifactId> <name>vaadin-widgets</name> <packaging>jar</packaging> <url>https://vaadin.com/</url> <description>Vaadin widgets</description> <dependencies> <dependency> <groupId>${project.groupId}</groupId> <artifactId>vaadin-client</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>vaadin-shared</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>vaadin-client-compiler</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>vaadin-themes</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>vaadin-buildhelpers</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> <Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment> <!-- Export package is handled in exec plugin --> <Export-Package></Export-Package> <Import-Package></Import-Package> </instructions> </configuration> <executions> <execution> <id>bundle-manifest</id> <phase>prepare-package</phase> <goals> <goal>manifest</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>unpack-dependencies</id> <phase>generate-resources</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>com.vaadin</groupId> <artifactId>vaadin-client</artifactId> <includes> com/vaadin/*.gwt.xml, com/vaadin/client/BrowserInfo*, com/vaadin/client/AnimationUtil*, com/vaadin/client/ComputedStyle*, com/vaadin/client/DeferredWorker*, com/vaadin/client/Profiler*, com/vaadin/client/StyleConstants*, com/vaadin/client/WidgetUtil*, com/vaadin/client/ui/FocusUtil*, com/vaadin/client/data/**, com/vaadin/client/widget/**, com/vaadin/client/Focusable*, com/vaadin/client/widgets/**, com/vaadin/client/renderers/**, com/vaadin/client/ui/SubPartAware*, com/vaadin/client/ui/VProgressBar*, com/vaadin/client/ui/dd/DragAndDropHandler*, com/vaadin/client/ui/dd/DragHandle*, com/vaadin/client/VSchedulerImpl* </includes> </artifactItem> <artifactItem> <groupId>com.vaadin</groupId> <artifactId>vaadin-shared</artifactId> <includes> com/vaadin/shared/ui/grid/*.*, com/vaadin/shared/ui/grid/**/*.*, com/vaadin/shared/util/SharedUtil*, com/vaadin/shared/VBrowserDetails*, com/vaadin/shared/data/sort/SortDirection* </includes> <excludes> com/vaadin/shared/**/*Rpc.*, com/vaadin/shared/**/*Rpc$*.*, com/vaadin/shared/**/*State.*, com/vaadin/shared/**/*State$*.* </excludes> </artifactItem> <artifactItem> <groupId>com.vaadin</groupId> <artifactId>vaadin-client-compiler</artifactId> <includes> com/vaadin/sass/linker/*.* </includes> </artifactItem> <artifactItem> <groupId>com.vaadin</groupId> <artifactId>vaadin-themes</artifactId> <includes> /VAADIN/themes/valo/**, /VAADIN/themes/base/** </includes> <outputDirectory>${project.build.directory}/themes</outputDirectory> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <!-- Copy .java files to package --> <execution> <id>copy-sources</id> <!-- here the phase you need --> <phase>prepare-package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.outputDirectory}</outputDirectory> <resources> <resource> <directory>src/main/java</directory> <filtering>false</filtering> </resource> </resources> </configuration> </execution> <execution> <id>copy-themes</id> <!-- here the phase you need --> <phase>prepare-package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.outputDirectory}/com/vaadin/themes/public</outputDirectory> <resources> <resource> <directory>${project.build.directory}/themes/VAADIN/themes</directory> <filtering>false</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <executions> <execution> <id>generate-export-package</id> <phase>package</phase> <goals> <goal>exec</goal> </goals> <configuration> <classpathScope>compile</classpathScope> <executable>${java.home}/bin/java</executable> <arguments> <argument>-Dvaadin.version=${project.version}</argument> <argument>-DincludeNumberPackages=1</argument> <argument>-classpath</argument> <classpath/> <argument>com.vaadin.buildhelpers.GeneratePackageExports</argument> <argument>${project.build.directory}/${project.build.finalName}.${project.packaging} </argument> <argument>com/vaadin</argument> </arguments> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <configuration> <archive> <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> <index>false</index> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> </archive> </configuration> </plugin> </plugins> </build> </project>