<?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/maven-v4_0_0.xsd">
  <parent>
    <artifactId>jruby-parent</artifactId>
    <groupId>org.jruby</groupId>
    <version>9.2.13.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>jruby-core</artifactId>
  <name>JRuby Core</name>
  <build>
    <defaultGoal>package</defaultGoal>
    <resources>
      <resource>
        <directory>src/main/ruby</directory>
        <includes>
          <include>**/*rb</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>META-INF/**/*</include>
        </includes>
      </resource>
    </resources>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>properties-maven-plugin</artifactId>
                    <versionRange>[1.0-alpha-2,)</versionRange>
                    <goals>
                      <goal>read-project-properties</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <versionRange>[1.8,)</versionRange>
                    <goals>
                      <goal>add-source</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <versionRange>[1.2.1,)</versionRange>
                    <goals>
                      <goal>exec</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <versionRange>[2.8,)</versionRange>
                    <goals>
                      <goal>copy</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <versionRange>[2.5,)</versionRange>
                    <goals>
                      <goal>clean</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>1.2</version>
        <executions>
          <execution>
            <id>jruby-revision</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>create</goal>
            </goals>
            <configuration>
              <shortRevisionLength>10</shortRevisionLength>
              <buildNumberPropertyName>jruby.revision</buildNumberPropertyName>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-populators</id>
            <phase>process-classes</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${anno.sources}</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>invoker-generator</id>
            <phase>process-classes</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <arguments>
                <argument>-Djruby.bytecode.version=${base.java.version}</argument>
                <argument>-classpath</argument>
                <classpath />
                <argument>org.jruby.anno.InvokerGenerator</argument>
                <argument>${anno.sources}/annotated_classes.txt</argument>
                <argument>${project.build.outputDirectory}</argument>
              </arguments>
              <executable>java</executable>
              <classpathScope>compile</classpathScope>
            </configuration>
          </execution>
          <execution>
            <id>scope-generator</id>
            <phase>process-classes</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <arguments>
                <argument>-Djruby.bytecode.version=${base.java.version}</argument>
                <argument>-classpath</argument>
                <classpath />
                <argument>org.jruby.runtime.scope.DynamicScopeGenerator</argument>
                <argument>${project.build.outputDirectory}</argument>
              </arguments>
              <executable>java</executable>
              <classpathScope>compile</classpathScope>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <executions>
          <execution>
            <id>anno</id>
            <phase>process-resources</phase>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <includes>
                <include>org/jruby/anno/FrameField.java</include>
                <include>org/jruby/anno/AnnotationBinder.java</include>
                <include>org/jruby/anno/JRubyMethod.java</include>
                <include>org/jruby/anno/FrameField.java</include>
                <include>org/jruby/CompatVersion.java</include>
                <include>org/jruby/runtime/Visibility.java</include>
                <include>org/jruby/util/CodegenUtils.java</include>
                <include>org/jruby/util/SafePropertyAccessor.java</include>
              </includes>
            </configuration>
          </execution>
          <execution>
            <id>default-compile</id>
            <phase>compile</phase>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <debug>true</debug>
              <annotationProcessors>
                <annotationProcessor>org.jruby.anno.AnnotationBinder</annotationProcessor>
              </annotationProcessors>
              <generatedSourcesDirectory>target/generated-sources</generatedSourcesDirectory>
              <compilerArgs>
                <compilerArg>-XDignore.symbol.file=true</compilerArg>
                <compilerArg>-J-Duser.language=en</compilerArg>
                <compilerArg>-J-Dfile.encoding=UTF-8</compilerArg>
                <compilerArg>-J-Xmx${jruby.compile.memory}</compilerArg>
              </compilerArgs>
            </configuration>
          </execution>
          <execution>
            <id>populators</id>
            <phase>process-classes</phase>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <debug>true</debug>
              <compilerArgs>
                <compilerArg>-XDignore.symbol.file=true</compilerArg>
                <compilerArg>-J-Duser.language=en</compilerArg>
                <compilerArg>-J-Dfile.encoding=UTF-8</compilerArg>
                <compilerArg>-J-Xmx${jruby.compile.memory}</compilerArg>
              </compilerArgs>
              <includes>
                <include>org/jruby/gen/**/*.java</include>
              </includes>
            </configuration>
          </execution>
          <execution>
            <id>eclipse-hack</id>
            <phase>process-classes</phase>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <skipMain>true</skipMain>
              <includes>
                <include>**/*.java</include>
              </includes>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <encoding>utf-8</encoding>
          <debug>true</debug>
          <verbose>true</verbose>
          <fork>true</fork>
          <compilerArgs>
            <arg>-J-Xmx1G</arg>
          </compilerArgs>
          <showWarnings>true</showWarnings>
          <showDeprecation>true</showDeprecation>
          <source>${base.java.version}</source>
          <source>1.8</source>
          <target>${base.javac.version}</target>
          <target>1.8</target>
          <useIncrementalCompilation>false</useIncrementalCompilation>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <executions>
          <execution>
            <id>default-clean</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
            <configuration>
              <filesets>
                <fileset>
                  <directory>${project.build.sourceDirectory}</directory>
                  <includes>
                    <include>${Constants.java}</include>
                  </includes>
                </fileset>
                <fileset>
                  <directory>${project.basedir}/..</directory>
                  <includes>
                    <include>bin/jruby</include>
                  </includes>
                </fileset>
                <fileset>
                  <directory>${project.basedir}/..</directory>
                  <includes>
                    <include>lib/jni/**</include>
                  </includes>
                </fileset>
              </filesets>
              <failOnError>false</failOnError>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <forkCount>1</forkCount>
          <reuseForks>false</reuseForks>
          <systemProperties>
            <jruby.home>${basedir}/..</jruby.home>
          </systemProperties>
          <argLine>-Xmx${jruby.test.memory} -Dfile.encoding=UTF-8 -Djava.awt.headless=true</argLine>
          <includes>
            <include>org/jruby/test/MainTestSuite.java</include>
            <include>org/jruby/embed/**/*Test*.java</include>
            <include>org/jruby/util/**/*Test*.java</include>
            <include>org/jruby/runtime/**/*Test*.java</include>
          </includes>
          <additionalClasspathElements>
            <additionalClasspathElement>${basedir}/src/test/ruby</additionalClasspathElement>
          </additionalClasspathElements>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestEntries>
              <Automatic-Module-Name>org.jruby</Automatic-Module-Name>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <phase>process-resources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/resources</directory>
                  <includes>${Constants.java}</includes>
                  <targetPath>${project.build.sourceDirectory}</targetPath>
                  <filtering>true</filtering>
                </resource>
                <resource>
                  <directory>..</directory>
                  <includes>
                    <include>BSDL</include>
                    <include>COPYING</include>
                    <include>LEGAL</include>
                    <include>LICENSE.RUBY</include>
                  </includes>
                  <targetPath>${project.build.sourceDirectory}/META-INF/</targetPath>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <id>create lib/jruby.jar</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <artifactSet>
                <excludes>javax.annotation:javax.annotation-api</excludes>
              </artifactSet>
              <relocations>
                <relocation>
                  <pattern>org.objectweb</pattern>
                  <shadedPattern>org.jruby.org.objectweb</shadedPattern>
                </relocation>
              </relocations>
              <outputFile>${jruby.basedir}/lib/jruby.jar</outputFile>
              <transformers>
                <transformer>
                  <mainClass>org.jruby.Main</mainClass>
                  <manifestEntries>
                    <Automatic-Module-Name>org.jruby.dist</Automatic-Module-Name>
                  </manifestEntries>
                </transformer>
              </transformers>
              <createSourcesJar>${create.sources.jar}</createSourcesJar>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>unzip native</id>
            <phase>clean</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <excludes>META-INF,META-INF/*</excludes>
              <artifactItems>
                <artifactItem>
                  <groupId>com.github.jnr</groupId>
                  <artifactId>jffi</artifactId>
                  <version>${jffi.version}</version>
                  <type>jar</type>
                  <classifier>native</classifier>
                  <overWrite>false</overWrite>
                  <outputDirectory>${jruby.basedir}/lib</outputDirectory>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>all</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <id>shade dependencies into jar</id>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <artifactSet>
                    <includes>
                      <include>com.github.jnr:jnr-ffi</include>
                      <include>me.qmx.jitescript:jitescript</include>
                      <include>org.ow2.asm:*</include>
                    </includes>
                    <excludes>javax.annotation:javax.annotation-api</excludes>
                  </artifactSet>
                  <relocations>
                    <relocation>
                      <pattern>org.objectweb</pattern>
                      <shadedPattern>org.jruby.org.objectweb</shadedPattern>
                    </relocation>
                    <relocation>
                      <pattern>me.qmx.jitescript</pattern>
                      <shadedPattern>org.jruby.me.qmx.jitescript</shadedPattern>
                    </relocation>
                  </relocations>
                  <transformers>
                    <transformer>
                      <mainClass>org.jruby.Main</mainClass>
                      <manifestEntries>
                        <Automatic-Module-Name>org.jruby.core</Automatic-Module-Name>
                      </manifestEntries>
                    </transformer>
                  </transformers>
                  <filters>
                    <filter>
                      <artifact>com.headius:invokebinder</artifact>
                      <excludes>**/module-info.class</excludes>
                    </filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <id>shade dependencies into jar</id>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <artifactSet>
                    <includes>
                      <include>com.github.jnr:jnr-ffi</include>
                      <include>me.qmx.jitescript:jitescript</include>
                      <include>org.ow2.asm:*</include>
                    </includes>
                    <excludes>javax.annotation:javax.annotation-api</excludes>
                  </artifactSet>
                  <relocations>
                    <relocation>
                      <pattern>org.objectweb</pattern>
                      <shadedPattern>org.jruby.org.objectweb</shadedPattern>
                    </relocation>
                    <relocation>
                      <pattern>me.qmx.jitescript</pattern>
                      <shadedPattern>org.jruby.me.qmx.jitescript</shadedPattern>
                    </relocation>
                  </relocations>
                  <transformers>
                    <transformer>
                      <mainClass>org.jruby.Main</mainClass>
                      <manifestEntries>
                        <Automatic-Module-Name>org.jruby.core</Automatic-Module-Name>
                      </manifestEntries>
                    </transformer>
                  </transformers>
                  <filters>
                    <filter>
                      <artifact>com.headius:invokebinder</artifact>
                      <excludes>**/module-info.class</excludes>
                    </filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>main</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <id>shade dependencies into jar</id>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <artifactSet>
                    <includes>
                      <include>com.github.jnr:jnr-ffi</include>
                      <include>me.qmx.jitescript:jitescript</include>
                      <include>org.ow2.asm:*</include>
                    </includes>
                    <excludes>javax.annotation:javax.annotation-api</excludes>
                  </artifactSet>
                  <relocations>
                    <relocation>
                      <pattern>org.objectweb</pattern>
                      <shadedPattern>org.jruby.org.objectweb</shadedPattern>
                    </relocation>
                    <relocation>
                      <pattern>me.qmx.jitescript</pattern>
                      <shadedPattern>org.jruby.me.qmx.jitescript</shadedPattern>
                    </relocation>
                  </relocations>
                  <transformers>
                    <transformer>
                      <mainClass>org.jruby.Main</mainClass>
                      <manifestEntries>
                        <Automatic-Module-Name>org.jruby.core</Automatic-Module-Name>
                      </manifestEntries>
                    </transformer>
                  </transformers>
                  <filters>
                    <filter>
                      <artifact>com.headius:invokebinder</artifact>
                      <excludes>**/module-info.class</excludes>
                    </filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>osgi</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <id>shade dependencies into jar</id>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <artifactSet>
                    <includes>
                      <include>com.github.jnr:jnr-ffi</include>
                      <include>me.qmx.jitescript:jitescript</include>
                      <include>org.ow2.asm:*</include>
                    </includes>
                    <excludes>javax.annotation:javax.annotation-api</excludes>
                  </artifactSet>
                  <relocations>
                    <relocation>
                      <pattern>org.objectweb</pattern>
                      <shadedPattern>org.jruby.org.objectweb</shadedPattern>
                    </relocation>
                    <relocation>
                      <pattern>me.qmx.jitescript</pattern>
                      <shadedPattern>org.jruby.me.qmx.jitescript</shadedPattern>
                    </relocation>
                  </relocations>
                  <transformers>
                    <transformer>
                      <mainClass>org.jruby.Main</mainClass>
                      <manifestEntries>
                        <Automatic-Module-Name>org.jruby.core</Automatic-Module-Name>
                      </manifestEntries>
                    </transformer>
                  </transformers>
                  <filters>
                    <filter>
                      <artifact>com.headius:invokebinder</artifact>
                      <excludes>**/module-info.class</excludes>
                    </filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>j2ee</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <id>shade dependencies into jar</id>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <artifactSet>
                    <includes>
                      <include>com.github.jnr:jnr-ffi</include>
                      <include>me.qmx.jitescript:jitescript</include>
                      <include>org.ow2.asm:*</include>
                    </includes>
                    <excludes>javax.annotation:javax.annotation-api</excludes>
                  </artifactSet>
                  <relocations>
                    <relocation>
                      <pattern>org.objectweb</pattern>
                      <shadedPattern>org.jruby.org.objectweb</shadedPattern>
                    </relocation>
                    <relocation>
                      <pattern>me.qmx.jitescript</pattern>
                      <shadedPattern>org.jruby.me.qmx.jitescript</shadedPattern>
                    </relocation>
                  </relocations>
                  <transformers>
                    <transformer>
                      <mainClass>org.jruby.Main</mainClass>
                      <manifestEntries>
                        <Automatic-Module-Name>org.jruby.core</Automatic-Module-Name>
                      </manifestEntries>
                    </transformer>
                  </transformers>
                  <filters>
                    <filter>
                      <artifact>com.headius:invokebinder</artifact>
                      <excludes>**/module-info.class</excludes>
                    </filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>complete</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <id>shade dependencies into jar</id>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <artifactSet>
                    <includes>
                      <include>com.github.jnr:jnr-ffi</include>
                      <include>me.qmx.jitescript:jitescript</include>
                      <include>org.ow2.asm:*</include>
                    </includes>
                    <excludes>javax.annotation:javax.annotation-api</excludes>
                  </artifactSet>
                  <relocations>
                    <relocation>
                      <pattern>org.objectweb</pattern>
                      <shadedPattern>org.jruby.org.objectweb</shadedPattern>
                    </relocation>
                    <relocation>
                      <pattern>me.qmx.jitescript</pattern>
                      <shadedPattern>org.jruby.me.qmx.jitescript</shadedPattern>
                    </relocation>
                  </relocations>
                  <transformers>
                    <transformer>
                      <mainClass>org.jruby.Main</mainClass>
                      <manifestEntries>
                        <Automatic-Module-Name>org.jruby.core</Automatic-Module-Name>
                      </manifestEntries>
                    </transformer>
                  </transformers>
                  <filters>
                    <filter>
                      <artifact>com.headius:invokebinder</artifact>
                      <excludes>**/module-info.class</excludes>
                    </filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>dist</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <id>shade dependencies into jar</id>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <artifactSet>
                    <includes>
                      <include>com.github.jnr:jnr-ffi</include>
                      <include>me.qmx.jitescript:jitescript</include>
                      <include>org.ow2.asm:*</include>
                    </includes>
                    <excludes>javax.annotation:javax.annotation-api</excludes>
                  </artifactSet>
                  <relocations>
                    <relocation>
                      <pattern>org.objectweb</pattern>
                      <shadedPattern>org.jruby.org.objectweb</shadedPattern>
                    </relocation>
                    <relocation>
                      <pattern>me.qmx.jitescript</pattern>
                      <shadedPattern>org.jruby.me.qmx.jitescript</shadedPattern>
                    </relocation>
                  </relocations>
                  <transformers>
                    <transformer>
                      <mainClass>org.jruby.Main</mainClass>
                      <manifestEntries>
                        <Automatic-Module-Name>org.jruby.core</Automatic-Module-Name>
                      </manifestEntries>
                    </transformer>
                  </transformers>
                  <filters>
                    <filter>
                      <artifact>com.headius:invokebinder</artifact>
                      <excludes>**/module-info.class</excludes>
                    </filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>jruby_complete_jar_extended</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <id>shade dependencies into jar</id>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <artifactSet>
                    <includes>
                      <include>com.github.jnr:jnr-ffi</include>
                      <include>me.qmx.jitescript:jitescript</include>
                      <include>org.ow2.asm:*</include>
                    </includes>
                    <excludes>javax.annotation:javax.annotation-api</excludes>
                  </artifactSet>
                  <relocations>
                    <relocation>
                      <pattern>org.objectweb</pattern>
                      <shadedPattern>org.jruby.org.objectweb</shadedPattern>
                    </relocation>
                    <relocation>
                      <pattern>me.qmx.jitescript</pattern>
                      <shadedPattern>org.jruby.me.qmx.jitescript</shadedPattern>
                    </relocation>
                  </relocations>
                  <transformers>
                    <transformer>
                      <mainClass>org.jruby.Main</mainClass>
                      <manifestEntries>
                        <Automatic-Module-Name>org.jruby.core</Automatic-Module-Name>
                      </manifestEntries>
                    </transformer>
                  </transformers>
                  <filters>
                    <filter>
                      <artifact>com.headius:invokebinder</artifact>
                      <excludes>**/module-info.class</excludes>
                    </filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>jruby-jars</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <id>shade dependencies into jar</id>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <artifactSet>
                    <includes>
                      <include>com.github.jnr:jnr-ffi</include>
                      <include>me.qmx.jitescript:jitescript</include>
                      <include>org.ow2.asm:*</include>
                    </includes>
                    <excludes>javax.annotation:javax.annotation-api</excludes>
                  </artifactSet>
                  <relocations>
                    <relocation>
                      <pattern>org.objectweb</pattern>
                      <shadedPattern>org.jruby.org.objectweb</shadedPattern>
                    </relocation>
                    <relocation>
                      <pattern>me.qmx.jitescript</pattern>
                      <shadedPattern>org.jruby.me.qmx.jitescript</shadedPattern>
                    </relocation>
                  </relocations>
                  <transformers>
                    <transformer>
                      <mainClass>org.jruby.Main</mainClass>
                      <manifestEntries>
                        <Automatic-Module-Name>org.jruby.core</Automatic-Module-Name>
                      </manifestEntries>
                    </transformer>
                  </transformers>
                  <filters>
                    <filter>
                      <artifact>com.headius:invokebinder</artifact>
                      <excludes>**/module-info.class</excludes>
                    </filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>clean</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
              <execution>
                <phase>initialize</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>/bin/sh</executable>
                  <arguments>
                    <argument>-c</argument>
                    <argument>cp /home/enebo/work/release/core/../bin/jruby.bash /home/enebo/work/release/core/../bin/jruby</argument>
                  </arguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>jruby.bash</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
              <execution>
                <phase>initialize</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>/bin/sh</executable>
                  <arguments>
                    <argument>-c</argument>
                    <argument>cp ${jruby.basedir}/bin/jruby.bash ${jruby.basedir}/bin/jruby</argument>
                  </arguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>native</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <phase>process-classes</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <excludes>META-INF,META-INF/*</excludes>
                  <artifactItems>
                    <artifactItem>
                      <groupId>com.github.jnr</groupId>
                      <artifactId>jffi</artifactId>
                      <version>1.2.23</version>
                      <type>jar</type>
                      <classifier>native</classifier>
                      <overWrite>false</overWrite>
                      <outputDirectory>/home/enebo/work/release/core/../lib</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>test</id>
      <properties>
        <maven.test.skip>false</maven.test.skip>
      </properties>
    </profile>
    <profile>
      <id>build.properties</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
            <version>1.0-alpha-2</version>
            <executions>
              <execution>
                <id>properties</id>
                <phase>initialize</phase>
                <goals>
                  <goal>read-project-properties</goal>
                </goals>
                <configuration>
                  <files>
                    <file>${jruby.basedir}/build.properties</file>
                  </files>
                  <quiet>true</quiet>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>tzdata</id>
      <properties>
        <tzdata.jar.version>${tzdata.version}</tzdata.jar.version>
        <tzdata.scope>runtime</tzdata.scope>
      </properties>
    </profile>
    <profile>
      <id>generate sources jar</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>pack core sources</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <dependencies>
    <dependency>
      <groupId>com.github.jnr</groupId>
      <artifactId>jnr-netdb</artifactId>
      <version>1.1.6</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>jnr-ffi</artifactId>
          <groupId>com.github.jnr</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.github.jnr</groupId>
      <artifactId>jnr-enxio</artifactId>
      <version>0.25</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>jnr-ffi</artifactId>
          <groupId>com.github.jnr</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.github.jnr</groupId>
      <artifactId>jnr-unixsocket</artifactId>
      <version>0.28</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>jnr-ffi</artifactId>
          <groupId>com.github.jnr</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.github.jnr</groupId>
      <artifactId>jnr-posix</artifactId>
      <version>3.0.54</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>jnr-ffi</artifactId>
          <groupId>com.github.jnr</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.github.jnr</groupId>
      <artifactId>jnr-constants</artifactId>
      <version>0.9.15</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>jnr-ffi</artifactId>
          <groupId>com.github.jnr</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.github.jnr</groupId>
      <artifactId>jffi</artifactId>
      <version>1.2.23</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.github.jnr</groupId>
      <artifactId>jffi</artifactId>
      <version>1.2.23</version>
      <classifier>native</classifier>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.jruby.joni</groupId>
      <artifactId>joni</artifactId>
      <version>2.1.31</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.jruby.jcodings</groupId>
      <artifactId>jcodings</artifactId>
      <version>1.0.46</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.jruby</groupId>
      <artifactId>dirgra</artifactId>
      <version>0.3</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.headius</groupId>
      <artifactId>invokebinder</artifactId>
      <version>1.11</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.headius</groupId>
      <artifactId>options</artifactId>
      <version>1.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>bsf</groupId>
      <artifactId>bsf</artifactId>
      <version>2.4.0</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.jcraft</groupId>
      <artifactId>jzlib</artifactId>
      <version>1.1.3</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.martiansoftware</groupId>
      <artifactId>nailgun-server</artifactId>
      <version>0.9.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>hamcrest-core</artifactId>
          <groupId>org.hamcrest</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.ant</groupId>
      <artifactId>ant</artifactId>
      <version>1.9.8</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>ant-launcher</artifactId>
          <groupId>org.apache.ant</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.core</artifactId>
      <version>5.0.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jruby</groupId>
      <artifactId>joda-timezones</artifactId>
      <version>2019c</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>joda-time</groupId>
      <artifactId>joda-time</artifactId>
      <version>2.10.5</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.12</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.7.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.headius</groupId>
      <artifactId>backport9</artifactId>
      <version>1.8</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</artifactId>
      <version>1.3.1</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
  <properties>
    <version.ruby>2.5.7</version.ruby>
    <prawn.dir>${test.dir}/prawn</prawn.dir>
    <spec.tags.dir>${spec.dir}/tags</spec.tags.dir>
    <polyglot.dump.pom>pom.xml</polyglot.dump.pom>
    <pkg.dir>${build.dir}/pkg</pkg.dir>
    <spec.dir>spec</spec.dir>
    <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
    <installer.gems>${jruby.win32ole.gem}</installer.gems>
    <prawn.git.repo>git://github.com/sandal/prawn.git</prawn.git.repo>
    <version.ruby.minor>7</version.ruby.minor>
    <tzdata.version>2019c</tzdata.version>
    <install4j.executable>/Applications/install4j7/bin/install4jc</install4j.executable>
    <jay.bin>jay</jay.bin>
    <polyglot.dump.readonly>true</polyglot.dump.readonly>
    <dest.lib.dir>${lib.dir}</dest.lib.dir>
    <rails.git.repo>git://github.com/rails/rails.git</rails.git.repo>
    <build.dir>target</build.dir>
    <maven.test.skip>true</maven.test.skip>
    <rubyspec.1.8.dir>${rubyspec.dir}/1.8</rubyspec.1.8.dir>
    <jruby.launch.memory>1024M</jruby.launch.memory>
    <jruby.compile.memory>2G</jruby.compile.memory>
    <version.ruby.major>2.5</version.ruby.major>
    <release.dir>release</release.dir>
    <create.sources.jar>false</create.sources.jar>
    <lib.dir>lib</lib.dir>
    <rails.dir>${test.dir}/rails</rails.dir>
    <parser.dir>core/src/main/java/org/jruby/parser</parser.dir>
    <jruby.basedir>${basedir}/..</jruby.basedir>
    <rubyspec.dir>${spec.dir}/ruby</rubyspec.dir>
    <version.ruby.revision>67816</version.ruby.revision>
    <jruby.test.memory>3G</jruby.test.memory>
    <mspec.dir>${spec.dir}/mspec</mspec.dir>
    <build.date>${maven.build.timestamp}</build.date>
    <main.basedir>${project.parent.basedir}</main.basedir>
    <tzdata.scope>provided</tzdata.scope>
    <test.results.dir>${build.dir}/test-results</test.results.dir>
    <prawn.stable.version>0.4.1</prawn.stable.version>
    <mspec.tar.file>${build.dir}/mspec.tgz</mspec.tar.file>
    <build.lib.dir>test/target</build.lib.dir>
    <anno.sources>${project.basedir}/target/generated-sources</anno.sources>
    <test.dir>test</test.dir>
    <jflex.bin>jflex</jflex.bin>
    <jruby.win32ole.gem>jruby-win32ole</jruby.win32ole.gem>
    <mspec.bin>${mspec.dir}/bin/mspec</mspec.bin>
    <jruby.gem.home>lib/ruby/gems/shared</jruby.gem.home>
    <Constants.java>org/jruby/runtime/Constants.java</Constants.java>
    <test.classes.dir>${test.dir}/target/test-classes</test.classes.dir>
  </properties>
</project>

