| POM: |
Show
hide
<?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>
<groupId>com.browserstack</groupId>
<artifactId>browserstack-javaagent</artifactId>
<version>1.0.0</version>
<name>browserstack-javaagent</name>
<packaging>jar</packaging>
<description>JavaAgent for Browserstack Selenium Tests</description>
<url>https://www.browserstack.com</url>
<licenses>
<license>
<name>MIT</name>
<url>https://opensource.org/licenses/MIT</url>
</license>
</licenses>
<developers>
<developer>
<name>BrowserStack</name>
<email>support@browserstack.com</email>
<organization>BrowserStack</organization>
<organizationUrl>https://www.browserstack.com</organizationUrl>
</developer>
</developers>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<testng.version>7.1.0</testng.version>
<selenium.version>3.141.59</selenium.version>
<slf4j.version>1.7.36</slf4j.version>
<javassist.version>3.26.0-GA</javassist.version>
<browserstack.local.version>1.0.6</browserstack.local.version>
<commons.lang3.version>3.11</commons.lang3.version>
<yamlconfiguration.version>1.0.11</yamlconfiguration.version>
<project.build.finalName>browserstack-javaagent</project.build.finalName>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
<maven.compiler.testSource>${maven.compiler.source}</maven.compiler.testSource>
<maven.compiler.testTarget>${maven.compiler.testSource}</maven.compiler.testTarget>
<version.proguard-base>7.1.1</version.proguard-base>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.javassist/javassist -->
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>${javassist.version}</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>2.10.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.3</version>
</dependency>
<dependency>
<groupId>com.browserstack</groupId>
<artifactId>browserstack-local-java</artifactId>
<version>${browserstack.local.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons.lang3.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.bspfsystems</groupId>
<artifactId>yamlconfiguration</artifactId>
<version>${yamlconfiguration.version}</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.4.0</version>
<configuration>
<includeDependency>false</includeDependency>
<injar>${project.build.finalName}-jar-with-dependencies.${project.packaging}</injar>
<outjar>${project.build.finalName}.${project.packaging}</outjar>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
<lib>${java.home}/lib/jce.jar</lib>
<lib>${java.home}/lib/ext/sunjce_provider.jar</lib>
</libs>
<options>
<option>-dontskipnonpubliclibraryclassmembers</option>
<option>-allowaccessmodification</option>
<option>-adaptclassstrings</option>
<option>-adaptresourcefilenames **.properties</option>
<option>-adaptresourcefilecontents **.properties,META-INF/MANIFEST.MF</option>
<option>-verbose</option>
<option>-dontnote</option>
<option>-dontwarn</option>
<option>-ignorewarnings</option>
<option>-keepclasseswithmembers class *</option>
<option>-keepclasseswithmembers,allowshrinking public final @interface * {
public private protected static final volatile transient synthetic <![CDATA[<fields>]]>;
}
</option>
<option>-keepclasseswithmembers public class * { public static void main(java.lang.String[]); }</option>
<option>-keep public class * extends java.applet.Applet</option>
<option>-keep public class * extends javax.servlet.Servlet</option>
<option>-keep public class * extends javax.microedition.midlet.MIDlet</option>
<option>-keep public class * extends javax.tv.xlet.Xlet</option>
<option>-keep public class * {
public protected <![CDATA[<fields>]]>;
public protected <![CDATA[<methods>]]>;
}
</option>
<option>-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
</option>
<option>-keepclassmembers class * extends java.io.Serializable {
static final long serialVersionUID;
static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
</option>
<option>-keep class * extends java.beans.BeanInfo</option>
<option>-keep class * {
void set*(***);
void set*(int,***);
boolean is*();
boolean is*(int);
*** get*();
*** get*(int);
}
</option>
<option>-keep class * extends java.sql.Driver</option>
<option>-keep class * extends javax.swing.plaf.ComponentUI {
public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent);
}
</option>
<option>-keepclasseswithmembers,includedescriptorclasses,allowshrinking class * {
native <![CDATA[<methods>]]>;
}
</option>
<option>-keepclassmembers,allowshrinking class * {
java.lang.Class class$(java.lang.String);
java.lang.Class class$(java.lang.String,boolean);
}
</option>
<option>-keepclassmembers,allowshrinking class * {
@proguard.annotation.KeepName
<![CDATA[<fields>]]>;
@proguard.annotation.KeepName
<![CDATA[<methods>]]>;
}
</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepClassMemberNames class * {
<![CDATA[<fields>]]>;
<![CDATA[<methods>]]>;
}
</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepPublicClassMemberNames class * {
public <![CDATA[<fields>]]>;
public <![CDATA[<methods>]]>;
}
</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepPublicProtectedClassMemberNames class * {
public protected <![CDATA[<fields>]]>;
public protected <![CDATA[<methods>]]>;
}
</option>
<option>-keep,allowshrinking @proguard.annotation.KeepName class *</option>
</options>
</configuration>
<dependencies>
<dependency>
<groupId>com.guardsquare</groupId>
<artifactId>proguard-base</artifactId>
<version>${version.proguard-base}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<executions>
<execution>
<id>proguard</id>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgs>
<arg>-XDignore.symbol.file</arg>
</compilerArgs>
<fork>true</fork>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<appendAssemblyId>true</appendAssemblyId>
<archive>
<index>true</index>
<manifest>
<addClasspath>true</addClasspath>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<Premain-Class>com.browserstack.BrowserStackJavaAgent</Premain-Class>
<Agent-Class>com.browserstack.BrowserStackJavaAgent</Agent-Class>
<Can-Redefine-Classes>true</Can-Redefine-Classes>
<Can-Retransform-Classes>true</Can-Retransform-Classes>
</manifestEntries>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>java8-</id>
<activation>
<jdk>(,1.8]</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<configuration>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
<lib>${java.home}/lib/jce.jar</lib>
<lib>${java.home}/lib/jsse.jar</lib>
</libs>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java9+</id>
<activation>
<jdk>[1.9,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<configuration>
<libs>
<lib>${java.home}/jmods/java.base.jmod</lib>
</libs>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<scm>
<url>https://github.com/browserstack/browserstack-javaagent</url>
<connection>scm:git:https://github.com/browserstack/browserstack-javaagent.git</connection>
<developerConnection>scm:git:git@github.com:browserstack/browserstack-javaagent.git</developerConnection>
<tag>HEAD</tag>
</scm>
</project>
|