Skip to content

Instantly share code, notes, and snippets.

View neomatrix369's full-sized avatar
🎯
Focusing

mani neomatrix369

🎯
Focusing
View GitHub Profile
@neomatrix369
neomatrix369 / betterrev.feature
Created February 9, 2014 08:18
Feature: Update local repo on the Betterrev server with changesets from the OpenJDK mercurial repos
Feature: Update local repo on the Betterrev server with changesets from the OpenJDK mercurial repos
As the Adopt OpenJDK user (on the Betterrev server)
I would like to retrieve changesets from the OpenJDK mercurial repos into my local repos
So that my local repos are always in sync with the OpenJDK mercurial repos
Core
====
Scenario: Script to connect to the OpenJDK mercurial repos is available
Given (the actor) is running and has the necessary configuration in place
@neomatrix369
neomatrix369 / gist:10940661
Created April 16, 2014 22:58
Parameterized Mocks example
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
public class ParameterizedMocks {
@Mock
private UserService userService;
@neomatrix369
neomatrix369 / Build JBoss Forge on m2 (Jigsaw)
Last active August 29, 2015 14:09
Build JBoss Forge on m2 (Jigsaw)
$ gedit .bashrc
$ export SOURCE_CODE=$HOME/dev/jigsaw
$ export JAVA_HOME=$SOURCE_CODE/m2/build/linux-x86_64-normal-server-release/images/jdk
Ensure -XX:MaxPermSize=128m is removed from MAVEN_OPTS or any other XXX_OPTS env variables
git clone https://github.com/forge/core.git forge-core
Change the $HOME/.m2/settings.xml file
<settings>
@neomatrix369
neomatrix369 / InterestingFiles Interesting files and folders in OpenJDK9 (jigsaw)
Created November 20, 2014 22:09
Interesting files and folders in OpenJDK9 (jigsaw)
$ tree -fL 2 build
build
└── build/linux-x86_64-normal-server-release
├── build/linux-x86_64-normal-server-release/bootcycle-spec.gmk
├── build/linux-x86_64-normal-server-release/build.log
├── build/linux-x86_64-normal-server-release/build.log.old
├── build/linux-x86_64-normal-server-release/buildtools
├── build/linux-x86_64-normal-server-release/compare.sh
├── build/linux-x86_64-normal-server-release/config.h
├── build/linux-x86_64-normal-server-release/config.log
@neomatrix369
neomatrix369 / gist:aad1b372109b423e3290
Created June 14, 2015 13:16
Handy rysnc examples
rsync -vpcrazh --progress [source folder] [destination folder]
or
rsync --verbose --perms --checksum --recursive --archive --compress --human-readable --progress [source folder] [destination folder]
-v, --verbose increase verbosity
-p, --perms preserve permissions
-c, --checksum skip based on checksum, not mod-time & size
@neomatrix369
neomatrix369 / CanSubclassChecker.java
Created December 27, 2012 13:14
Changed logic behind how CanSubclassChecker checks for mutability in src/main/java/org/mutabilitydetector/checkers/CanSubclassChecker.java b/src/main/java/org/mutabilitydetector/checkers/CanSubclassChecker.java
diff --git a/src/main/java/org/mutabilitydetector/checkers/CanSubclassChecker.java b/src/main/java/org/mutabilitydetector/checkers/CanSubclassChecker.java
index 947cd5e..c8baaf2 100644
--- a/src/main/java/org/mutabilitydetector/checkers/CanSubclassChecker.java
+++ b/src/main/java/org/mutabilitydetector/checkers/CanSubclassChecker.java
@@ -39,7 +39,7 @@ public final class CanSubclassChecker extends AbstractMutabilityChecker {
@Override
public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
- if (MethodIs.aConstructor(name) && method(access).isNotPrivate()) {
+ if (MethodIs.aConstructor(name) && (method(access).isNotPrivate()) && method(access).isNotSynthetic()) {
@neomatrix369
neomatrix369 / ImmutableByHavingOnlyAPrivateConstructorUsingTheBuilderPattern.java
Created December 27, 2012 13:34
New example class created - src\test\benchmarks\org\mutabilitydetector\benchmarks\ImmutableByHavingOnlyAPrivateConstructorUsingTheBuilderPattern.java
package org.mutabilitydetector.benchmarks;
public class ImmutableByHavingOnlyAPrivateConstructorUsingTheBuilderPattern {
private final String field;
// usual method of making a class immutable
// - make its constructor private: ref EffectiveJava
private ImmutableByHavingOnlyAPrivateConstructorUsingTheBuilderPattern (String field) {
this.field = field;
}
@neomatrix369
neomatrix369 / AccessModifierQuery.java
Created December 27, 2012 13:15
Added a new Opcode called ACC_SYNTHETIC in /src/main/java/org/mutabilitydetector/checkers/AccessModifierQuery.java
diff --git a/src/main/java/org/mutabilitydetector/checkers/AccessModifierQuery.java b/src/main/java/org/mutabilitydetector/checkers/AccessModifierQuery.java
index 111001b..b92fed0 100644
--- a/src/main/java/org/mutabilitydetector/checkers/AccessModifierQuery.java
+++ b/src/main/java/org/mutabilitydetector/checkers/AccessModifierQuery.java
@@ -22,6 +22,7 @@ import static org.objectweb.asm.Opcodes.ACC_FINAL;
import static org.objectweb.asm.Opcodes.ACC_INTERFACE;
import static org.objectweb.asm.Opcodes.ACC_PRIVATE;
import static org.objectweb.asm.Opcodes.ACC_STATIC;
+import static org.objectweb.asm.Opcodes.ACC_SYNTHETIC;
@neomatrix369
neomatrix369 / CanSubclassCheckerTest.java
Created December 27, 2012 13:18
Added a test and extended CanSubclassCheckerTest in src/test/java/org/mutabilitydetector/benchmarks/CanSubclassCheckerTest.java b/src/test/java/org/mutabilitydetector/benchmarks/CanSubclassCheckerTest.java
diff --git a/src/test/java/org/mutabilitydetector/benchmarks/CanSubclassCheckerTest.java b/src/test/java/org/mutabilitydetector/benchmarks/CanSubclassCheckerTest.java
index 988c019..bd99158 100644
--- a/src/test/java/org/mutabilitydetector/benchmarks/CanSubclassCheckerTest.java
+++ b/src/test/java/org/mutabilitydetector/benchmarks/CanSubclassCheckerTest.java
@@ -42,6 +42,7 @@ import org.mutabilitydetector.benchmarks.sealed.SealedImmutable;
import org.mutabilitydetector.benchmarks.types.EnumType;
import org.mutabilitydetector.checkers.CanSubclassChecker;
import org.mutabilitydetector.locations.ClassLocation;
+import org.mutabilitydetector.unittesting.MutabilityAssert;
@neomatrix369
neomatrix369 / gist:4420590
Created December 31, 2012 15:15
Mutability Detector maven build issue (maven plugin version issue) - although error message does not mention this clearly!
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building MutabilityDetector
[INFO] task-segment: [clean, package]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin descriptor for the plugin Plugin [org.apache.maven.plugins:maven-compiler-plugin] was not found. Please verify that the plugin JAR C:\Users\User\.m2\repository\org\apache\maven\plugins\maven-compiler-plugin\2.0.2\maven-compiler-plugin-2.0.2.jar is intact.
[INFO] ------------------------------------------------------------------------