<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>org.molgenis</groupId>
		<artifactId>molgenis</artifactId>
		<version>1.7.0</version>
	</parent>
	<artifactId>molgenis-core-ui</artifactId>
	<packaging>jar</packaging>
	<build>
		<plugins>
			<!-- compile XML schemas -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>jaxb2-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>ui-xjc</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>xjc</goal>
						</goals>
						<configuration>
							<!--<quiet>true</quiet>-->
							<packageName>org.molgenis.ui</packageName>
							<schemaDirectory>src/main/resources/schemas</schemaDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- add sources created by jaxb -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>execution-jaxb</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>add-source</goal>
						</goals>
						<configuration>
							<sources>
								<source>target/generated-sources/jaxb</source>
							</sources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- minify css/js -->
			<plugin>
				<groupId>com.samaxes.maven</groupId>
				<artifactId>minify-maven-plugin</artifactId>
				<executions>
				    <execution>
                        <id>default-minify</id>
                    </execution>
                    <execution>
	                    <id>component-deps-merge</id>
	                    <goals>
	                        <goal>minify</goal>
	                    </goals>
	                    <configuration>
	                        <charset>UTF-8</charset>
	                        <webappSourceDir>${project.basedir}/src/main/resources</webappSourceDir>
	                        <webappTargetDir>${project.build.directory}/generated-resources</webappTargetDir>
	                        <cssEngine>YUI</cssEngine>
	                        <cssSourceDir>css</cssSourceDir>
	                        <cssSourceFiles>
	                            <cssSourceFile>bootstrap.min.css</cssSourceFile>
	                            <cssSourceFile>bootstrap-datetimepicker.min.css</cssSourceFile> <!-- DateTimePicker dependency -->
	                            <cssSourceFile>jquery-ui-1.9.2.custom.min.css</cssSourceFile> <!-- jQEditRangeSlider dependency -->
	                            <cssSourceFile>../../../../target/classes/css/select2.css</cssSourceFile> <!-- Select2 dependency, use minified file from default-minify execution -->
	                            <cssSourceFile>iThing-min.css</cssSourceFile><!-- jQEditRangeSlider dependency -->
	                        </cssSourceFiles>
	                        <cssFinalFile>molgenis-bundle.min.css</cssFinalFile>
	                        <jsEngine>CLOSURE</jsEngine>
	                        <closureLanguage>ECMASCRIPT5_STRICT</closureLanguage>
	                        <jsSourceDir>js</jsSourceDir>
	                        <jsSourceFiles>
	                            <jsSourceFile>jquery-2.1.1.min.js</jsSourceFile>
	                            <jsSourceFile>bootstrap.min.js</jsSourceFile>
	                            <jsSourceFile>underscore-min.js</jsSourceFile>
	                            <jsSourceFile>jquery-ui-1.9.2.custom.min.js</jsSourceFile> <!-- JQRangeSlider dependency -->
	                            <jsSourceFile>jquery.form.min.js</jsSourceFile> <!-- Form dependency -->
	                            <jsSourceFile>ace/src-min-noconflict/ace.js</jsSourceFile> <!-- Ace dependency -->
	                            <jsSourceFile>moment-with-locales.min.js</jsSourceFile> <!-- DateTimePicker dependency -->
	                            <jsSourceFile>bootstrap-datetimepicker.min.js</jsSourceFile> <!-- DateTimePicker dependency -->
	                            <jsSourceFile>jQEditRangeSlider-min.js</jsSourceFile> <!-- JQRangeSlider dependency -->
	                            <jsSourceFile>../../../../target/classes/js/select2-patched.js</jsSourceFile> <!-- Select2 dependency, use minified file from default-minify execution -->
	                            <jsSourceFile>URI.js</jsSourceFile>
	                        </jsSourceFiles>
	                        <jsFinalFile>molgenis-bundle.min.js</jsFinalFile>
	                        <skipMerge>false</skipMerge>
	                        <skipMinify>true</skipMinify>
	                        <nosuffix>true</nosuffix>
	                        <verbose>true</verbose>
	                    </configuration>
	                </execution>
	                <execution>
                        <id>component-css-merge-minify</id>
                        <goals>
                            <goal>minify</goal>
                        </goals>
                        <configuration>
                            <charset>UTF-8</charset>
                            <webappSourceDir>${project.basedir}/src/main/resources</webappSourceDir>
                            <webappTargetDir>${project.build.directory}/generated-resources</webappTargetDir>
                            <cssEngine>YUI</cssEngine>
                            <cssSourceDir>css</cssSourceDir>
                            <!-- Specify files one-by-one to preserve order -->
                            <cssSourceFiles>
                                <!-- Important: Update molgenis-header.ftl when modifying the list below -->
                                <cssSourceFile>/component/wrapper/DateTimePicker.css</cssSourceFile>
                                <cssSourceFile>/component/wrapper/JQRangeSlider.css</cssSourceFile>
                                <cssSourceFile>/component/Checkbox.css</cssSourceFile>
                                <cssSourceFile>/component/Radio.css</cssSourceFile>
                            </cssSourceFiles>
                            <cssFinalFile>molgenis-component.min.css</cssFinalFile>
                            <skipMerge>false</skipMerge>
                            <skipMinify>false</skipMinify>
                            <nosuffix>true</nosuffix>
                            <verbose>true</verbose>
                        </configuration>
                    </execution>
	                <execution>
	                    <id>component-js-merge-minify</id>
	                    <goals>
	                        <goal>minify</goal>
	                    </goals>
	                    <configuration>
	                        <charset>UTF-8</charset>
	                        <webappSourceDir>${project.basedir}/src/main/resources</webappSourceDir>
	                        <webappTargetDir>${project.build.directory}/generated-resources</webappTargetDir>
	                        <jsEngine>CLOSURE</jsEngine>
	                        <closureLanguage>ECMASCRIPT5_STRICT</closureLanguage>
	                        <jsSourceDir>js</jsSourceDir>
	                        <!-- Specify files one-by-one to preserve order -->
	                        <jsSourceFiles>
	                            <!-- Important: Update molgenis-header.ftl when modifying the list below -->
	                            <jsSourceFile>/component/mixin/AttributeLoaderMixin.js</jsSourceFile>
	                            <jsSourceFile>/component/mixin/DeepPureRenderMixin.js</jsSourceFile>
	                            <jsSourceFile>/component/mixin/EntityInstanceLoaderMixin.js</jsSourceFile>
	                            <jsSourceFile>/component/mixin/EntityLoaderMixin.js</jsSourceFile>
	                            <jsSourceFile>/component/mixin/GroupMixin.js</jsSourceFile>
	                            <jsSourceFile>/component/mixin/ReactLayeredComponentMixin.js</jsSourceFile>
	                            <jsSourceFile>/component/wrapper/Ace.js</jsSourceFile>
	                            <jsSourceFile>/component/wrapper/DateTimePicker.js</jsSourceFile>
	                            <jsSourceFile>/component/wrapper/JQRangeSlider.js</jsSourceFile>
	                            <jsSourceFile>/component/wrapper/JQueryForm.js</jsSourceFile>
	                            <jsSourceFile>/component/wrapper/Select2.js</jsSourceFile>
	                            <jsSourceFile>/component/AlertMessage.js</jsSourceFile>
	                            <jsSourceFile>/component/AttributeControl.js</jsSourceFile>
	                            <jsSourceFile>/component/BoolControl.js</jsSourceFile>
	                            <jsSourceFile>/component/Button.js</jsSourceFile>
	                            <jsSourceFile>/component/CheckboxGroup.js</jsSourceFile>
	                            <jsSourceFile>/component/CodeEditor.js</jsSourceFile>
	                            <jsSourceFile>/component/DateControl.js</jsSourceFile>
	                            <jsSourceFile>/component/EntitySelectBox.js</jsSourceFile>
	                            <jsSourceFile>/component/Form.js</jsSourceFile>
	                            <jsSourceFile>/component/FormControl.js</jsSourceFile>
	                            <jsSourceFile>/component/FormControlGroup.js</jsSourceFile>
	                            <jsSourceFile>/component/Icon.js</jsSourceFile>
	                            <jsSourceFile>/component/Input.js</jsSourceFile>
	                            <jsSourceFile>/component/Modal.js</jsSourceFile>
	                            <jsSourceFile>/component/Questionnaire.js</jsSourceFile>
	                            <jsSourceFile>/component/RadioGroup.js</jsSourceFile>
	                            <jsSourceFile>/component/RangeSlider.js</jsSourceFile>
	                            <jsSourceFile>/component/Spinner.js</jsSourceFile>
	                            <jsSourceFile>/component/TextArea.js</jsSourceFile>
	                        </jsSourceFiles>
	                        <jsFinalFile>molgenis-component.min.js</jsFinalFile>
	                        <skipMerge>false</skipMerge>
	                        <skipMinify>false</skipMinify>
	                        <nosuffix>true</nosuffix>
	                        <verbose>true</verbose>
	                    </configuration>
	                </execution>
	            </executions>
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>org.molgenis</groupId>
			<artifactId>molgenis-core</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.molgenis</groupId>
			<artifactId>molgenis-data</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.molgenis</groupId>
			<artifactId>molgenis-data-csv</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
            <groupId>org.molgenis</groupId>
            <artifactId>molgenis-data-elasticsearch</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.molgenis</groupId>
            <artifactId>molgenis-data-system</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.molgenis</groupId>
            <artifactId>molgenis-data-validation</artifactId>
            <version>${project.version}</version>
        </dependency>
		<dependency>
			<groupId>org.molgenis</groupId>
			<artifactId>molgenis-security</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-all</artifactId>
			<version>1.3</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.molgenis</groupId>
			<artifactId>molgenis-data-migrate</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.molgenis</groupId>
			<artifactId>molgenis-scripts</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>com.google.auto.value</groupId>
			<artifactId>auto-value</artifactId>
			<version>1.0</version>
		</dependency>
	</dependencies>
</project>
