browserstack-java-sdk
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.browserstack</groupId>
<artifactId>browserstack-java-sdk</artifactId>
<version>1.56.5</version>
</dependency><?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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.browserstack</groupId>
<artifactId>browserstack-java-sdk</artifactId>
<name>browserstack-java-sdk</name>
<version>1.56.5</version>
<description>Java SDK for Browserstack Selenium Tests</description>
<url>https://www.browserstack.com</url>
<developers>
<developer>
<name>BrowserStack</name>
<email>support@browserstack.com</email>
<organization>BrowserStack</organization>
<organizationUrl>https://www.browserstack.com</organizationUrl>
</developer>
</developers>
<licenses>
<license>
<name>BrowserStack License</name>
<url>${project.baseUri}LICENSE.txt</url>
</license>
</licenses>
<scm>
<connection>scm:git:git@github.com:browserstack/browserstack-javaagent.git</connection>
<developerConnection>scm:git:git@github.com:browserstack/browserstack-javaagent.git</developerConnection>
<url>https://github.com/browserstack/browserstack-javaagent</url>
</scm>
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.7.1</version>
</extension>
</extensions>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.4.0</version>
<executions>
<execution>
<id>proguard</id>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.guardsquare</groupId>
<artifactId>proguard-base</artifactId>
<version>${version.proguard-base}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<configuration>
<includeDependency>false</includeDependency>
<injar>${project.build.finalName}.${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>-keepattributes *Annotation*</option>
<option>-keepattributes Signature,InnerClasses,EnclosingMethod</option>
<option>-ignorewarnings</option>
<option>-keepclasseswithmembers class *</option>
<option>-keepclasseswithmembers,allowshrinking public final @interface * {
public private protected static final volatile transient synthetic <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 org.slf4j.** { *; }</option>
<option>-keep class org.gradle.** { *; }</option>
<option>-keep class org.apache.logging.** { *; }</option>
<option>-keep public class ch.qos.logback.** { *; }</option>
<option>-keep public class * {
public protected <fields>;
public protected <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 <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
<fields>;
@proguard.annotation.KeepName
<methods>;
}</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepClassMemberNames class * {
<fields>;
<methods>;
}</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepPublicClassMemberNames class * {
public <fields>;
public <methods>;
}</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepPublicProtectedClassMemberNames class * {
public protected <fields>;
public protected <methods>;
}</option>
<option>-keep @interface com.browserstack.monitoring.Measured</option>
<option>-keep enum com.browserstack.monitoring.Events { *; }</option>
<option>-keep enum com.browserstack.monitoring.Stage { *; }</option>
<option>-keepclassmembers class * { @com.browserstack.monitoring.Measured *; }</option>
<option>-keep,allowshrinking @proguard.annotation.KeepName class *</option>
<option>-keep class io.grpc.** { *; }</option>
<option>-keepclassmembernames class **.shaded.org.jctools.queues.** {
long producerIndex;
long consumerIndex;
java.lang.Object[] elements;
}</option>
<option>-keepclassmembers class **.io.netty.util.internal.PlatformDependent** { *; }</option>
<option>-keep class **.shaded.org.jctools.util.UnsafeAccess { *; }</option>
<option>-keep class **.shaded.io.grpc.netty.shaded.io.netty.util.internal.shaded.org.jctools.** { *; }</option>
<option>-keep class **.shaded.io.grpc.** { *; }</option>
<option>-keep class **.shaded.io.netty.** { *; }</option>
</options>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<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.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<configuration>
<source>1.8</source>
<target>1.8</target>
<complianceLevel>1.8</complianceLevel>
</configuration>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.5.0</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-transform-maven-shade-plugin-extensions</artifactId>
<version>0.1.0</version>
</dependency>
</dependencies>
<configuration>
<relocations>
<relocation>
<pattern>ch.qos.logback</pattern>
<shadedPattern>browserstack.shaded.ch.qos.logback</shadedPattern>
</relocation>
<relocation>
<rawString>true</rawString>
<pattern>^logback.configurationFile$</pattern>
<shadedPattern>browserstack.shaded.logback.configurationFile</shadedPattern>
</relocation>
<relocation>
<rawString>true</rawString>
<pattern>^logback(-test)?.xml$</pattern>
<shadedPattern>browserstack-logback$1.xml</shadedPattern>
</relocation>
<relocation>
<rawString>true</rawString>
<pattern>^java:comp/env/logback/configuration-resource$</pattern>
<shadedPattern>java:comp/env/browserstack.shaded.logback/configuration-resource</shadedPattern>
</relocation>
<relocation>
<rawString>true</rawString>
<pattern>^java:comp/env/logback/context-name$</pattern>
<shadedPattern>java:comp/env/browserstack.shaded.logback/context-name</shadedPattern>
</relocation>
<relocation>
<pattern>org.slf4j</pattern>
<shadedPattern>browserstack.shaded.org.slf4j</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons</pattern>
<shadedPattern>browserstack.shaded.commons</shadedPattern>
</relocation>
<relocation>
<pattern>org.javassist</pattern>
<shadedPattern>browserstack.shaded.org.javassist</shadedPattern>
</relocation>
<relocation>
<pattern>javassist</pattern>
<shadedPattern>browserstack.shaded.javassist</shadedPattern>
</relocation>
<relocation>
<pattern>okhttp3</pattern>
<shadedPattern>browserstack.shaded.okhttp3</shadedPattern>
</relocation>
<relocation>
<pattern>okio</pattern>
<shadedPattern>browserstack.shaded.okio</shadedPattern>
</relocation>
<relocation>
<pattern>org.json</pattern>
<shadedPattern>browserstack.shaded.org.json</shadedPattern>
</relocation>
<relocation>
<pattern>org.jsoup</pattern>
<shadedPattern>browserstack.shaded.org.jsoup</shadedPattern>
</relocation>
<relocation>
<pattern>org.eclipse.jgit</pattern>
<shadedPattern>browserstack.shaded.org.eclipse.jgit</shadedPattern>
</relocation>
<relocation>
<pattern>com.github.markusbernhardt</pattern>
<shadedPattern>browserstack.shaded.com.github.markusbernhardt</shadedPattern>
</relocation>
<relocation>
<pattern>com.fasterxml.jackson</pattern>
<shadedPattern>browserstack.shaded.jackson</shadedPattern>
</relocation>
<relocation>
<pattern>com.google</pattern>
<shadedPattern>browserstack.shaded.com.google</shadedPattern>
</relocation>
<relocation>
<pattern>io.grpc</pattern>
<shadedPattern>browserstack.shaded.io.grpc</shadedPattern>
</relocation>
<relocation>
<pattern>io.netty</pattern>
<shadedPattern>browserstack.shaded.io.netty</shadedPattern>
</relocation>
<relocation>
<pattern>org.bouncycastle</pattern>
<shadedPattern>browserstack.shaded.org.bouncycastle</shadedPattern>
</relocation>
</relocations>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<exclude>org/testng/log4testng/*</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer />
<transformer>
<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>
<Specification-Title>${project.artifactId}</Specification-Title>
<Specification-Version>${project.version}</Specification-Version>
<Implementation-Title>${project.artifactId}</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id>
</manifestEntries>
</transformer>
<transformer />
</transformers>
<useDependencyReducedPomInJar>true</useDependencyReducedPomInJar>
</configuration>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>empty-javadoc-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>javadoc</classifier>
<classesDirectory>${basedir}/javadoc</classesDirectory>
</configuration>
</execution>
<execution>
<id>empty-sources-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>sources</classifier>
<classesDirectory>${basedir}/sources</classesDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>--add-opens java.base/java.lang=ALL-UNNAMED
--add-opens java.base/java.nio=ALL-UNNAMED
--add-opens java.base/sun.nio.ch=ALL-UNNAMED
--add-opens java.base/java.util.concurrent=ALL-UNNAMED</argLine>
</configuration>
</plugin>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.4.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<tokenAuth>true</tokenAuth>
<autoPublish>true</autoPublish>
</configuration>
</plugin>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.6.1</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
<configuration>
<protocArtifact>com.google.protobuf:protoc:3.25.3:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.68.0:exe:${os.detected.classifier}</pluginArtifact>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>java8-</id>
<build>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.4.0</version>
<executions>
<execution>
<id>proguard</id>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
<configuration>
<libs>
<lib>/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar</lib>
<lib>/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar</lib>
<lib>/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar</lib>
</libs>
<includeDependency>false</includeDependency>
<injar>browserstack-java-sdk-1.56.5.jar</injar>
<outjar>browserstack-java-sdk-1.56.5.jar</outjar>
<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>-keepattributes *Annotation*</option>
<option>-keepattributes Signature,InnerClasses,EnclosingMethod</option>
<option>-ignorewarnings</option>
<option>-keepclasseswithmembers class *</option>
<option>-keepclasseswithmembers,allowshrinking public final @interface * {
public private protected static final volatile transient synthetic <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 org.slf4j.** { *; }</option>
<option>-keep class org.gradle.** { *; }</option>
<option>-keep class org.apache.logging.** { *; }</option>
<option>-keep public class ch.qos.logback.** { *; }</option>
<option>-keep public class * {
public protected <fields>;
public protected <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 <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
<fields>;
@proguard.annotation.KeepName
<methods>;
}</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepClassMemberNames class * {
<fields>;
<methods>;
}</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepPublicClassMemberNames class * {
public <fields>;
public <methods>;
}</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepPublicProtectedClassMemberNames class * {
public protected <fields>;
public protected <methods>;
}</option>
<option>-keep @interface com.browserstack.monitoring.Measured</option>
<option>-keep enum com.browserstack.monitoring.Events { *; }</option>
<option>-keep enum com.browserstack.monitoring.Stage { *; }</option>
<option>-keepclassmembers class * { @com.browserstack.monitoring.Measured *; }</option>
<option>-keep,allowshrinking @proguard.annotation.KeepName class *</option>
<option>-keep class io.grpc.** { *; }</option>
<option>-keepclassmembernames class **.shaded.org.jctools.queues.** {
long producerIndex;
long consumerIndex;
java.lang.Object[] elements;
}</option>
<option>-keepclassmembers class **.io.netty.util.internal.PlatformDependent** { *; }</option>
<option>-keep class **.shaded.org.jctools.util.UnsafeAccess { *; }</option>
<option>-keep class **.shaded.io.grpc.netty.shaded.io.netty.util.internal.shaded.org.jctools.** { *; }</option>
<option>-keep class **.shaded.io.grpc.** { *; }</option>
<option>-keep class **.shaded.io.netty.** { *; }</option>
</options>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.guardsquare</groupId>
<artifactId>proguard-base</artifactId>
<version>7.1.1</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<configuration>
<libs>
<lib>/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar</lib>
<lib>/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar</lib>
<lib>/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar</lib>
</libs>
<includeDependency>false</includeDependency>
<injar>browserstack-java-sdk-1.56.5.jar</injar>
<outjar>browserstack-java-sdk-1.56.5.jar</outjar>
<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>-keepattributes *Annotation*</option>
<option>-keepattributes Signature,InnerClasses,EnclosingMethod</option>
<option>-ignorewarnings</option>
<option>-keepclasseswithmembers class *</option>
<option>-keepclasseswithmembers,allowshrinking public final @interface * {
public private protected static final volatile transient synthetic <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 org.slf4j.** { *; }</option>
<option>-keep class org.gradle.** { *; }</option>
<option>-keep class org.apache.logging.** { *; }</option>
<option>-keep public class ch.qos.logback.** { *; }</option>
<option>-keep public class * {
public protected <fields>;
public protected <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 <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
<fields>;
@proguard.annotation.KeepName
<methods>;
}</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepClassMemberNames class * {
<fields>;
<methods>;
}</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepPublicClassMemberNames class * {
public <fields>;
public <methods>;
}</option>
<option>-keepclassmembers,allowshrinking @proguard.annotation.KeepPublicProtectedClassMemberNames class * {
public protected <fields>;
public protected <methods>;
}</option>
<option>-keep @interface com.browserstack.monitoring.Measured</option>
<option>-keep enum com.browserstack.monitoring.Events { *; }</option>
<option>-keep enum com.browserstack.monitoring.Stage { *; }</option>
<option>-keepclassmembers class * { @com.browserstack.monitoring.Measured *; }</option>
<option>-keep,allowshrinking @proguard.annotation.KeepName class *</option>
<option>-keep class io.grpc.** { *; }</option>
<option>-keepclassmembernames class **.shaded.org.jctools.queues.** {
long producerIndex;
long consumerIndex;
java.lang.Object[] elements;
}</option>
<option>-keepclassmembers class **.io.netty.util.internal.PlatformDependent** { *; }</option>
<option>-keep class **.shaded.org.jctools.util.UnsafeAccess { *; }</option>
<option>-keep class **.shaded.io.grpc.netty.shaded.io.netty.util.internal.shaded.org.jctools.** { *; }</option>
<option>-keep class **.shaded.io.grpc.** { *; }</option>
<option>-keep class **.shaded.io.netty.** { *; }</option>
</options>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<os.detected.bitness>64</os.detected.bitness>
<os.detected.release.version>20.04</os.detected.release.version>
<os.detected.release.like.ubuntu>true</os.detected.release.like.ubuntu>
<os.detected.release>ubuntu</os.detected.release>
<os.detected.name>linux</os.detected.name>
<os.detected.release.like.debian>true</os.detected.release.like.debian>
<os.detected.classifier>linux-x86_64</os.detected.classifier>
<os.detected.arch>x86_64</os.detected.arch>
</properties>
</profile>
<profile>
<id>java9+</id>
<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>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.5.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
<version>3.141.59</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<version>1.28.0</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>driver-bundle</artifactId>
<groupId>com.microsoft.playwright</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-core</artifactId>
<version>7.8.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>gherkin</artifactId>
<version>24.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>annotations-api</artifactId>
<version>6.0.53</version>
<scope>provided</scope>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>central</id>
<url>https://central.sonatype.com/api/v1/publisher/deployments/upload/</url>
</repository>
</distributionManagement>
<properties>
<project.build.finalName>browserstack-javaagent</project.build.finalName>
<org.eclipse.jgit.version>5.13.3.202401111512-r</org.eclipse.jgit.version>
<commons.lang3.version>3.11</commons.lang3.version>
<maven.compiler.testTarget>${maven.compiler.testSource}</maven.compiler.testTarget>
<gson.version>2.9.1</gson.version>
<selenium.version>3.141.59</selenium.version>
<okhttp.version>4.12.0</okhttp.version>
<testng.version>7.5.1</testng.version>
<playwright.version>1.28.0</playwright.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<javassist.version>3.26.0-GA</javassist.version>
<maven-site-plugin.version>3.3</maven-site-plugin.version>
<jackson-databind.version>2.18.6</jackson-databind.version>
<version.proguard-base>7.1.1</version.proguard-base>
<snakeyml.version>2.0</snakeyml.version>
<logback.version>1.2.13</logback.version>
<slf4j.version>1.7.36</slf4j.version>
<browserstack.local.version>[1.0.9,2.0.0)</browserstack.local.version>
<jackson-core.version>2.18.6</jackson-core.version>
<jsoup.version>1.15.3</jsoup.version>
<maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
<json-simple.version>1.1.1</json-simple.version>
<gherkin.version>24.0.0</gherkin.version>
<maven.compiler.testSource>${maven.compiler.source}</maven.compiler.testSource>
<log4j.version>2.20.0</log4j.version>
<cucumber.version>7.8.1</cucumber.version>
</properties>
</project>