Skip to content

Commit

Permalink
Merge branch 'master' into j9_attach_ibm
Browse files Browse the repository at this point in the history
  • Loading branch information
raphw authored Nov 26, 2019
2 parents a86a24f + dcbdc13 commit 3a6a0ce
Show file tree
Hide file tree
Showing 18 changed files with 172 additions and 42 deletions.
33 changes: 27 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: CI

on:
on:
push:
branches:
branches:
- master
pull_request:
branches:
branches:
- master
schedule:
- cron: "0 0 * * 1"
Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
java-version: 1.6
architecture: x64
- name: Build project
run: ./mvnw -s nossl.settings.xml verify -Pintegration -Pjava6
run: ./mvnw -s .mvn/nossl.settings.xml verify -Pintegration -Pjava6
openj9-supported:
name: OpenJ9 (supported)
strategy:
Expand Down Expand Up @@ -103,11 +103,32 @@ jobs:
if: github.event_name == 'push'
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- uses: actions/setup-java@v1
with:
java-version: 8
architecture: x64
- name: Build project
run: ./mvnw jacoco:prepare-agent verify jacoco:report coveralls:report -DrepoToken=${{ secrets.coveralls }} -Pintegration
release:
name: Release new version
runs-on: ubuntu-18.04
needs: [coverage]
if: github.event_name == 'push'
steps:
- uses: actions/checkout@v1
with:
ref: master
- name: Consider release
id: release
run: echo "##[set-output name=release;]$(git log --format=%B -n 1 | grep ^\[release\] | wc -l)"
- uses: actions/setup-java@v1
if: steps.release.outputs.release > 0
with:
java-version: 8
architecture: x64
- name: Publish new version
if: steps.release.outputs.release > 0
run: |
echo "${{ secrets.gpg_secret }}" | gpg --batch --import
export GPG_TTY=$(tty)
./mvnw -B -s .mvn/release.settings.xml release:prepare release:perform -Drepository.url=https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git -Dbintray.username=raphw -Dbintray.password=${{ secrets.bintray_password }} -Dgpg.passphrase=${{ secrets.gpg_passphrase }} -Dgpg.keyname=B4AC8CDC141AF0AE468D16921DA784CCB5C46DD5 -Dgradle.key=${{ secrets.gradle_key }} -Dgradle.secret=${{ secrets.gradle_secret }}
65 changes: 65 additions & 0 deletions .mvn/A1039E8B.asc
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

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
=iys3
-----END PGP PUBLIC KEY BLOCK-----
File renamed without changes.
23 changes: 23 additions & 0 deletions .mvn/release.settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<settings>
<profiles>
<!-- The renamed Gradle properties are required as the POM defaults take precedence over any command line arguments. -->
<profile>
<id>gradle</id>
<properties>
<gradle.publish.key>${gradle.key}</gradle.publish.key>
<gradle.publish.secret>${gradle.secret}</gradle.publish.secret>
</properties>
</profile>
</profiles>
<servers>
<server>
<id>gpg.passphrase</id>
<passphrase>${gpg.passphrase}</passphrase>
</server>
<server>
<id>bintray</id>
<username>${bintray.username}</username>
<password>${bintray.password}</password>
</server>
</servers>
</settings>
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,9 @@ Byte Buddy is licensed under the liberal and business-friendly
[*Apache Licence, Version 2.0*](https://www.apache.org/licenses/LICENSE-2.0.html) and is freely available on
GitHub. Additionally, the *byte-buddy* distribution bundles ASM which is released under [a 3-clause BSD license](https://asm.ow2.io/license.html).

Byte Buddy is further to the repositories of Maven Central and on JCenter. The project is built
Byte Buddy binaries are published to the repositories of Maven Central and on JCenter. The artifacts signatures can be validated against [this PGP public key](https://keys.openpgp.org/[email protected]) beginning with Byte Buddy 1.10.3. Older versions can be validated against [this older and weaker certificate](https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf42b96b8648b5c4a1c43a62fbb2914c1fa0811c3).

The project is built
using <a href="https://maven.apache.org/">Maven</a>. From your shell, cloning and building the project would go
something like this:

Expand Down
2 changes: 1 addition & 1 deletion byte-buddy-agent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>byte-buddy-parent</artifactId>
<groupId>net.bytebuddy</groupId>
<version>1.10.3-SNAPSHOT</version>
<version>1.10.4-SNAPSHOT</version>
</parent>

<artifactId>byte-buddy-agent</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -656,9 +656,9 @@ private static void installExternal(AttachmentProvider.Accessor.ExternalAttachme
for (File jar : externalAttachment.getClassPath()) {
classPath.append(File.pathSeparatorChar).append(quote(jar.getCanonicalPath()));
}
if (new ProcessBuilder(quote(System.getProperty(JAVA_HOME)
if (new ProcessBuilder(System.getProperty(JAVA_HOME)
+ File.separatorChar + "bin"
+ File.separatorChar + (System.getProperty(OS_NAME, "").toLowerCase(Locale.US).contains("windows") ? "java.exe" : "java")),
+ File.separatorChar + (System.getProperty(OS_NAME, "").toLowerCase(Locale.US).contains("windows") ? "java.exe" : "java"),
CLASS_PATH_ARGUMENT,
classPath.toString(),
Attacher.class.getName(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2019,7 +2019,8 @@ public int getOwnerIdOf(File file) {
try {
// The binding for 'stat' is very platform dependant. To avoid the complexity of binding the correct method,
// stat is called as a separate command. This is less efficient but more portable.
Process process = Runtime.getRuntime().exec("stat -c=%u " + file.getAbsolutePath());
String statUserSwitch = Platform.isMac() ? "-f" : "-c";
Process process = Runtime.getRuntime().exec("stat " + statUserSwitch + " %u " + file.getAbsolutePath());
int attempts = this.attempts;
boolean exited = false;
String line = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8")).readLine();
Expand All @@ -2043,7 +2044,7 @@ public int getOwnerIdOf(File file) {
process.destroy();
throw new IllegalStateException("Command for stat did not exit in time");
}
return Integer.parseInt(line.substring(1));
return Integer.parseInt(line);
} catch (IOException exception) {
throw new IllegalStateException("Unable to execute stat command", exception);
}
Expand Down Expand Up @@ -2091,7 +2092,8 @@ private void notifySemaphore(File directory, String name, int count, short opera
try {
library.semop(semaphore, target, 1);
} catch (LastErrorException exception) {
if (acceptUnavailable && Native.getLastError() == PosixLibrary.EAGAIN) {
if (acceptUnavailable && (Native.getLastError() == PosixLibrary.EAGAIN
|| Native.getLastError() == PosixLibrary.EDEADLK)) {
break;
} else {
throw exception;
Expand Down Expand Up @@ -2123,6 +2125,11 @@ protected interface PosixLibrary extends Library {
*/
int EAGAIN = 11;

/**
* Indicates a dead lock on a resource.
*/
int EDEADLK = 35;

/**
* Indicates that a semaphore's operations should be undone at process shutdown.
*/
Expand Down
2 changes: 1 addition & 1 deletion byte-buddy-android-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-parent</artifactId>
<version>1.10.3-SNAPSHOT</version>
<version>1.10.4-SNAPSHOT</version>
</parent>

<artifactId>byte-buddy-android-test</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion byte-buddy-android/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>byte-buddy-parent</artifactId>
<groupId>net.bytebuddy</groupId>
<version>1.10.3-SNAPSHOT</version>
<version>1.10.4-SNAPSHOT</version>
</parent>

<artifactId>byte-buddy-android</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion byte-buddy-benchmark/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>byte-buddy-parent</artifactId>
<groupId>net.bytebuddy</groupId>
<version>1.10.3-SNAPSHOT</version>
<version>1.10.4-SNAPSHOT</version>
</parent>

<artifactId>byte-buddy-benchmark</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion byte-buddy-dep/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-parent</artifactId>
<version>1.10.3-SNAPSHOT</version>
<version>1.10.4-SNAPSHOT</version>
</parent>

<artifactId>byte-buddy-dep</artifactId>
Expand Down
18 changes: 15 additions & 3 deletions byte-buddy-dep/src/test/java/net/bytebuddy/TypeCacheTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.lang.ref.SoftReference;
import java.lang.ref.WeakReference;
import java.util.concurrent.Callable;
import java.util.logging.Logger;

import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.MatcherAssert.assertThat;
Expand Down Expand Up @@ -84,9 +85,20 @@ public void testCacheTypeCollection() throws Exception {
System.gc();
Thread.sleep(50L);
}
assertThat(typeCache.find(classLoader, key), nullValue(Class.class));
assertThat(typeCache.insert(classLoader, key, Void.class), is((Object) Void.class));
assertThat(typeCache.find(classLoader, key), is((Object) Void.class));
try {
assertThat(typeCache.find(classLoader, key), nullValue(Class.class));
assertThat(typeCache.insert(classLoader, key, Void.class), is((Object) Void.class));
assertThat(typeCache.find(classLoader, key), is((Object) Void.class));
} catch (AssertionError ignored) {
Logger.getLogger("net.bytebuddy").warning("Cache was not cleared, possibly due to weak references not being collected, retrying...");
for (int index = 0; index < 50; index++) {
System.gc();
Thread.sleep(50L);
}
assertThat(typeCache.find(classLoader, key), nullValue(Class.class));
assertThat(typeCache.insert(classLoader, key, Void.class), is((Object) Void.class));
assertThat(typeCache.find(classLoader, key), is((Object) Void.class));
}
}

@Test
Expand Down
2 changes: 1 addition & 1 deletion byte-buddy-gradle-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<artifactId>byte-buddy-parent</artifactId>
<groupId>net.bytebuddy</groupId>
<version>1.10.3-SNAPSHOT</version>
<version>1.10.4-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion byte-buddy-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<artifactId>byte-buddy-parent</artifactId>
<groupId>net.bytebuddy</groupId>
<version>1.10.3-SNAPSHOT</version>
<version>1.10.4-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion byte-buddy/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-parent</artifactId>
<version>1.10.3-SNAPSHOT</version>
<version>1.10.4-SNAPSHOT</version>
</parent>

<artifactId>byte-buddy</artifactId>
Expand Down
32 changes: 13 additions & 19 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
<?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">
<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>net.bytebuddy</groupId>
<artifactId>byte-buddy-parent</artifactId>
<version>1.10.3-SNAPSHOT</version>
<version>1.10.4-SNAPSHOT</version>
<packaging>pom</packaging>

<inceptionYear>2014</inceptionYear>
Expand Down Expand Up @@ -97,6 +96,7 @@
<version.utility.findbugs>3.0.1</version.utility.findbugs>
<spotbugs.skip>false</spotbugs.skip>
<jacoco.skip>false</jacoco.skip>
<repository.url>[email protected]:raphw/byte-buddy.git</repository.url>
</properties>

<licenses>
Expand Down Expand Up @@ -127,9 +127,9 @@
</issueManagement>

<scm>
<connection>scm:git:[email protected]:raphw/byte-buddy.git</connection>
<developerConnection>scm:git:[email protected]:raphw/byte-buddy.git</developerConnection>
<url>[email protected]:raphw/byte-buddy.git</url>
<connection>scm:git:${repository.url}</connection>
<developerConnection>scm:git:${repository.url}</developerConnection>
<url>${repository.url}</url>
<tag>HEAD</tag>
</scm>

Expand Down Expand Up @@ -680,21 +680,9 @@
<goal>jar</goal>
</goals>
</execution>
<!-- Additionally to the regular jar file specified above, create an aggregated jar. -->
<execution>
<id>aggregate-javadoc</id>
<goals>
<goal>aggregate</goal>
</goals>
<phase>package</phase>
<configuration>
<doctitle>Byte Buddy (full API), version ${project.version}</doctitle>
<!-- Fails due to repacking of ASM by the Shade plugin. -->
<failOnError>false</failOnError>
</configuration>
</execution>
</executions>
<configuration>
<source>${sourcecode.main.version}</source>
<detectJavaApiLink>true</detectJavaApiLink>
<links>
<link>${asm.url}/javadoc</link>
Expand Down Expand Up @@ -723,6 +711,12 @@
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
Expand Down
Loading

0 comments on commit 3a6a0ce

Please sign in to comment.