<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.jruby</groupId>
    <artifactId>jruby-parent</artifactId>
    <version>9.1.8.0</version>
  </parent>
  <artifactId>jruby-stdlib</artifactId>
  <name>JRuby Lib Setup</name>
  <properties>
    <polyglot.dump.readonly>true</polyglot.dump.readonly>
    <jruby.complete.gems>${jruby.complete.home}/lib/ruby/gems/shared</jruby.complete.gems>
    <gem.home>${basedir}/ruby/gems/shared</gem.home>
    <jruby.plugins.version>1.1.2</jruby.plugins.version>
    <polyglot.dump.pom>pom.xml</polyglot.dump.pom>
    <jruby.complete.home>${project.build.outputDirectory}/META-INF/jruby.home</jruby.complete.home>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.jruby</groupId>
      <artifactId>jruby-core</artifactId>
      <version>9.1.8.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>jruby-openssl</artifactId>
      <version>0.9.20</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>jruby-readline</artifactId>
      <version>1.1.1</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>rake</artifactId>
      <version>${rake.version}</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>rdoc</artifactId>
      <version>${rdoc.version}</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>minitest</artifactId>
      <version>${minitest.version}</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>test-unit</artifactId>
      <version>${test-unit.version}</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>power_assert</artifactId>
      <version>${power_assert.version}</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>psych</artifactId>
      <version>2.2.4</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>json</artifactId>
      <version>${json.version}</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>jar-dependencies</artifactId>
      <version>${jar-dependencies.version}</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>racc</artifactId>
      <version>${racc.version}</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>net-telnet</artifactId>
      <version>0.1.1</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>rubygems</groupId>
      <artifactId>did_you_mean</artifactId>
      <version>1.0.1</version>
      <type>gem</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jar-dependencies</artifactId>
          <groupId>rubygems</groupId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <repositories>
    <repository>
      <id>mavengems</id>
      <url>mavengem:https://rubygems.org</url>
    </repository>
  </repositories>
  <build>
    <extensions>
      <extension>
        <groupId>org.torquebox.mojo</groupId>
        <artifactId>mavengem-wagon</artifactId>
        <version>0.2.0</version>
      </extension>
    </extensions>
    <resources>
      <resource>
        <targetPath>${jruby.complete.gems}</targetPath>
        <directory>${gem.home}</directory>
        <includes>
          <include>gems/rake-${rake.version}/bin/r*</include>
          <include>gems/rdoc-${rdoc.version}/bin/r*</include>
          <include>specifications/default/*.gemspec</include>
        </includes>
      </resource>
      <resource>
        <targetPath>${jruby.complete.home}</targetPath>
        <directory>${basedir}/..</directory>
        <includes>
          <include>bin/ast*</include>
          <include>bin/gem*</include>
          <include>bin/irb*</include>
          <include>bin/jgem*</include>
          <include>bin/jirb*</include>
          <include>bin/jruby*</include>
          <include>bin/rake*</include>
          <include>bin/ri*</include>
          <include>bin/rdoc*</include>
          <include>bin/testrb*</include>
          <include>lib/ruby/include/**</include>
          <include>lib/ruby/stdlib/**</include>
        </includes>
        <excludes>
          <exclude>bin/jruby</exclude>
          <exclude>bin/jruby*_*</exclude>
          <exclude>bin/jruby*-*</exclude>
          <exclude>**/.*</exclude>
          <exclude>lib/ruby/stdlib/rubygems/defaults/jruby_native.rb</exclude>
          <exclude>lib/ruby/stdlib/gauntlet*.rb</exclude>
        </excludes>
      </resource>
      <resource>
        <targetPath>${project.build.outputDirectory}/META-INF/</targetPath>
        <directory>${project.basedir}/..</directory>
        <includes>
          <include>BSDL</include>
          <include>COPYING</include>
          <include>LEGAL</include>
          <include>LICENSE.RUBY</include>
        </includes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <configuration>
          <filesets>
            <fileset>
              <directory>${basedir}/ruby/gems/shared/specifications/default</directory>
              <includes>
                <include>*</include>
              </includes>
            </fileset>
            <fileset>
              <directory>${basedir}/ruby/stdlib</directory>
              <includes>
                <include>org/**/*.jar</include>
              </includes>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <phase>generate-resources</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <useRepositoryLayout>true</useRepositoryLayout>
          <outputDirectory>ruby/stdlib</outputDirectory>
          <excludeGroupIds>rubygems</excludeGroupIds>
          <includeScope>provided</includeScope>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <configuration>
          <skipSource>true</skipSource>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>io.takari.polyglot</groupId>
        <artifactId>polyglot-maven-plugin</artifactId>
        <version>0.1.15</version>
        <executions>
          <execution>
            <id>install_gems</id>
            <phase>initialize</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <taskId>install_gems</taskId>
              <nativePom>pom.rb</nativePom>
            </configuration>
          </execution>
          <execution>
            <id>fix shebang on gem bin files and add *.bat files</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <taskId>fix shebang on gem bin files and add *.bat files</taskId>
              <nativePom>pom.rb</nativePom>
            </configuration>
          </execution>
          <execution>
            <id>copy bin/jruby.bash to bin/jruby</id>
            <phase>process-resources</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <taskId>copy bin/jruby.bash to bin/jruby</taskId>
              <nativePom>pom.rb</nativePom>
            </configuration>
          </execution>
          <execution>
            <id>jrubydir</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <taskId>jrubydir</taskId>
              <nativePom>pom.rb</nativePom>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>io.takari.polyglot</groupId>
            <artifactId>polyglot-ruby</artifactId>
            <version>0.1.15</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>
