<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- 
###############################################################################
# Copyright (c) 2012, 2017 Red Hat, Inc and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     Krzysztof Daniel, Red Hat, Inc. - initial API and implementation
###############################################################################
--><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>
            
        <artifactId>eclipse.platform.swt.binaries</artifactId>
            
        <groupId>eclipse.platform.swt.binaries</groupId>
            
        <version>4.10.0-SNAPSHOT</version>
            
        <relativePath>../../</relativePath>
          
    </parent>
      
    <groupId>eclipse.platform.swt.binaries</groupId>
      
    <artifactId>binaries-parent</artifactId>
      
    <version>4.10.0-SNAPSHOT</version>
      
    <packaging>pom</packaging>
      
    <properties>
            
        <forceContextQualifier>v20180914-0620</forceContextQualifier>
          
    </properties>
      
    <build>
            
        <plugins>
                  
            <plugin>
                        
                <groupId>org.eclipse.tycho</groupId>
                        
                <artifactId>tycho-packaging-plugin</artifactId>
                        
                <version>${tycho.version}</version>
                        
                <configuration>
                              
                    <forceContextQualifier>${forceContextQualifier}</forceContextQualifier>
                            
                </configuration>
                      
            </plugin>
                  
            <plugin>
                        
                <groupId>org.eclipse.tycho</groupId>
                        
                <artifactId>target-platform-configuration</artifactId>
                        
                <version>${tycho.version}</version>
                        
                <configuration>
                              
                    <dependency-resolution>
                                    
                        <profileProperties>
                                          
                            <!-- set property so that the filter condition on the p2 dependencies from org.eclipse.swt to the fragments does not match -->
                                          
                            <org.eclipse.swt.buildtime>true</org.eclipse.swt.buildtime>
                                        
                        </profileProperties>
                                  
                    </dependency-resolution>
                              
                    <environments>
                                    
                        <environment>
                                          
                            <os>${os}</os>
                                          
                            <ws>${ws}</ws>
                                          
                            <arch>${arch}</arch>
                                        
                        </environment>
                                  
                    </environments>
                            
                </configuration>
                      
            </plugin>
                  
            <plugin>
                        
                <artifactId>maven-antrun-plugin</artifactId>
                        
                <executions>
                              
                    <execution>
                                    
                        <id>normal</id>
                                    
                        <phase>initialize</phase>
                                    
                        <configuration>
                                          
                            <target>
                                                
                                <property name="copy.src.dir" value="src"/>
                                                
                                <ant antfile="build.xml" target="copy.${ws}.src"/>
                                              
                            </target>
                                        
                        </configuration>
                                    
                        <goals>
                                          
                            <goal>run</goal>
                                        
                        </goals>
                                  
                    </execution>
                            
                </executions>
                        
                <dependencies>
                              
                    <dependency>
                                    
                        <groupId>com.sun</groupId>
                                    
                        <artifactId>tools</artifactId>
                                    
                        <version>0.0.0</version>
                                    
                        <scope>system</scope>
                                    
                        <systemPath>${toolsjar}</systemPath>
                                  
                    </dependency>
                              
                    <dependency>
                                    
                        <groupId>org.mozilla</groupId>
                                    
                        <artifactId>rhino</artifactId>
                                    
                        <version>1.7.10</version>
                                  
                    </dependency>
                              
                    <dependency>
                                    
                        <groupId>org.apache.ant</groupId>
                                    
                        <artifactId>ant-apache-bsf</artifactId>
                                    
                        <version>1.10.3</version>
                                  
                    </dependency>
                            
                </dependencies>
                      
            </plugin>
                
        </plugins>
          
    </build>
    
</project>
