From 8cf1eb9230dc243feb090352312c298225003d03 Mon Sep 17 00:00:00 2001 From: William Jacobs Date: Wed, 6 Mar 2019 15:20:01 -0500 Subject: [PATCH] Converted to Maven project This changes RedBlackNode into a Maven project, by adding pom.xml and changing the directory structure. This should make it easier for other projects to include RedBlackNode as a dependency. --- .classpath | 27 +++++++++++++++-- .gitignore | 4 ++- .project | 8 ++++- .settings/org.eclipse.jdt.core.prefs | 8 +++-- .settings/org.eclipse.m2e.core.prefs | 4 +++ README.md | 2 +- RedBlackNode.jar | Bin 44381 -> 0 bytes pom.xml | 28 ++++++++++++++++++ .../btrekkie/red_black_node/RedBlackNode.java | 6 ++-- .../btrekkie/red_black_node/Reference.java | 0 .../github/btrekkie/tree_list/TreeList.java | 0 .../btrekkie/tree_list/TreeListNode.java | 0 .../ArbitraryOrderCollection.java | 0 .../ArbitraryOrderNode.java | 0 .../ArbitraryOrderValue.java | 0 .../test/ArbitraryOrderCollectionTest.java | 0 .../btrekkie/interval_tree/IntervalTree.java | 0 .../interval_tree/IntervalTreeInterval.java | 0 .../interval_tree/IntervalTreeNode.java | 0 .../interval_tree/test/IntervalTreeTest.java | 0 .../red_black_node/test/RedBlackNodeTest.java | 0 .../red_black_node/test/TestRedBlackNode.java | 0 .../btrekkie/sub_array_min/SubArrayMin.java | 0 .../sub_array_min/SubArrayMinNode.java | 0 .../sub_array_min/test/SubArrayMinTest.java | 0 .../btrekkie/tree_list/test/TreeListTest.java | 0 target/RedBlackNode-1.0.0.jar | Bin 0 -> 20851 bytes 27 files changed, 75 insertions(+), 12 deletions(-) create mode 100644 .settings/org.eclipse.m2e.core.prefs delete mode 100644 RedBlackNode.jar create mode 100644 pom.xml rename src/{ => main/java}/com/github/btrekkie/red_black_node/RedBlackNode.java (99%) rename src/{ => main/java}/com/github/btrekkie/red_black_node/Reference.java (100%) rename src/{ => main/java}/com/github/btrekkie/tree_list/TreeList.java (100%) rename src/{ => main/java}/com/github/btrekkie/tree_list/TreeListNode.java (100%) rename src/{ => test/java}/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderCollection.java (100%) rename src/{ => test/java}/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderNode.java (100%) rename src/{ => test/java}/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderValue.java (100%) rename src/{ => test/java}/com/github/btrekkie/arbitrary_order_collection/test/ArbitraryOrderCollectionTest.java (100%) rename src/{ => test/java}/com/github/btrekkie/interval_tree/IntervalTree.java (100%) rename src/{ => test/java}/com/github/btrekkie/interval_tree/IntervalTreeInterval.java (100%) rename src/{ => test/java}/com/github/btrekkie/interval_tree/IntervalTreeNode.java (100%) rename src/{ => test/java}/com/github/btrekkie/interval_tree/test/IntervalTreeTest.java (100%) rename src/{ => test/java}/com/github/btrekkie/red_black_node/test/RedBlackNodeTest.java (100%) rename src/{ => test/java}/com/github/btrekkie/red_black_node/test/TestRedBlackNode.java (100%) rename src/{ => test/java}/com/github/btrekkie/sub_array_min/SubArrayMin.java (100%) rename src/{ => test/java}/com/github/btrekkie/sub_array_min/SubArrayMinNode.java (100%) rename src/{ => test/java}/com/github/btrekkie/sub_array_min/test/SubArrayMinTest.java (100%) rename src/{ => test/java}/com/github/btrekkie/tree_list/test/TreeListTest.java (100%) create mode 100644 target/RedBlackNode-1.0.0.jar diff --git a/.classpath b/.classpath index 72c2ba61a..ad5b70f00 100644 --- a/.classpath +++ b/.classpath @@ -1,7 +1,28 @@ - - + + + + + + + + + + + - + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore index 610859901..67fae9804 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,6 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* -bin/.gitignore +.DS_Store +target +!target/RedBlackNode*.jar diff --git a/.project b/.project index ec61c803b..423c0a752 100644 --- a/.project +++ b/.project @@ -1,6 +1,6 @@ - DataStructures + RedBlackNode @@ -10,8 +10,14 @@ + + org.eclipse.m2e.core.maven2Builder + + + + org.eclipse.m2e.core.maven2Nature org.eclipse.jdt.core.javanature diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 7341ab168..1937c422f 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,11 +1,13 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 000000000..f897a7f1c --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/README.md b/README.md index ecb3225dc..39bf14c85 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ data and augmentation information to each node. * As a bonus (a proof of concept and a test case), this includes the `TreeList` class, a `List` implementation backed by a red-black tree augmented by subtree size. -* Tested in Java 6.0, 7.0, and 8.0. +* Compatible with Java 6.0 and above. # Limitations * The values of the tree must be stored in the non-leaf nodes. `RedBlackNode` diff --git a/RedBlackNode.jar b/RedBlackNode.jar deleted file mode 100644 index 3a126d57a5ebfdade57e1623ee197a549ef15103..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44381 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 AE&u=k diff --git a/pom.xml b/pom.xml new file mode 100644 index 000000000..c6a125803 --- /dev/null +++ b/pom.xml @@ -0,0 +1,28 @@ + + 4.0.0 + com.github.btrekkie.red_black_node + RedBlackNode + 1.0.0 + RedBlackNode + Java implementation of augmented red-black trees. Easily maintain custom augmentation information by subclassing RedBlackNode: the base class does the work for you. + + + + maven-compiler-plugin + 3.8.0 + + 1.6 + 1.6 + + + + + + + junit + junit + 4.12 + test + + + \ No newline at end of file diff --git a/src/com/github/btrekkie/red_black_node/RedBlackNode.java b/src/main/java/com/github/btrekkie/red_black_node/RedBlackNode.java similarity index 99% rename from src/com/github/btrekkie/red_black_node/RedBlackNode.java rename to src/main/java/com/github/btrekkie/red_black_node/RedBlackNode.java index e045b380d..b604d5267 100644 --- a/src/com/github/btrekkie/red_black_node/RedBlackNode.java +++ b/src/main/java/com/github/btrekkie/red_black_node/RedBlackNode.java @@ -355,10 +355,10 @@ public abstract class RedBlackNode> implements Compara } /** Returns a Comparator that compares instances of N using their natural order, as in N.compareTo. */ + @SuppressWarnings({"rawtypes", "unchecked"}) private Comparator naturalOrder() { - @SuppressWarnings("unchecked") - Comparator comparator = (Comparator)NATURAL_ORDER; - return comparator; + Comparator comparator = (Comparator)NATURAL_ORDER; + return (Comparator)comparator; } /** diff --git a/src/com/github/btrekkie/red_black_node/Reference.java b/src/main/java/com/github/btrekkie/red_black_node/Reference.java similarity index 100% rename from src/com/github/btrekkie/red_black_node/Reference.java rename to src/main/java/com/github/btrekkie/red_black_node/Reference.java diff --git a/src/com/github/btrekkie/tree_list/TreeList.java b/src/main/java/com/github/btrekkie/tree_list/TreeList.java similarity index 100% rename from src/com/github/btrekkie/tree_list/TreeList.java rename to src/main/java/com/github/btrekkie/tree_list/TreeList.java diff --git a/src/com/github/btrekkie/tree_list/TreeListNode.java b/src/main/java/com/github/btrekkie/tree_list/TreeListNode.java similarity index 100% rename from src/com/github/btrekkie/tree_list/TreeListNode.java rename to src/main/java/com/github/btrekkie/tree_list/TreeListNode.java diff --git a/src/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderCollection.java b/src/test/java/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderCollection.java similarity index 100% rename from src/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderCollection.java rename to src/test/java/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderCollection.java diff --git a/src/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderNode.java b/src/test/java/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderNode.java similarity index 100% rename from src/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderNode.java rename to src/test/java/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderNode.java diff --git a/src/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderValue.java b/src/test/java/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderValue.java similarity index 100% rename from src/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderValue.java rename to src/test/java/com/github/btrekkie/arbitrary_order_collection/ArbitraryOrderValue.java diff --git a/src/com/github/btrekkie/arbitrary_order_collection/test/ArbitraryOrderCollectionTest.java b/src/test/java/com/github/btrekkie/arbitrary_order_collection/test/ArbitraryOrderCollectionTest.java similarity index 100% rename from src/com/github/btrekkie/arbitrary_order_collection/test/ArbitraryOrderCollectionTest.java rename to src/test/java/com/github/btrekkie/arbitrary_order_collection/test/ArbitraryOrderCollectionTest.java diff --git a/src/com/github/btrekkie/interval_tree/IntervalTree.java b/src/test/java/com/github/btrekkie/interval_tree/IntervalTree.java similarity index 100% rename from src/com/github/btrekkie/interval_tree/IntervalTree.java rename to src/test/java/com/github/btrekkie/interval_tree/IntervalTree.java diff --git a/src/com/github/btrekkie/interval_tree/IntervalTreeInterval.java b/src/test/java/com/github/btrekkie/interval_tree/IntervalTreeInterval.java similarity index 100% rename from src/com/github/btrekkie/interval_tree/IntervalTreeInterval.java rename to src/test/java/com/github/btrekkie/interval_tree/IntervalTreeInterval.java diff --git a/src/com/github/btrekkie/interval_tree/IntervalTreeNode.java b/src/test/java/com/github/btrekkie/interval_tree/IntervalTreeNode.java similarity index 100% rename from src/com/github/btrekkie/interval_tree/IntervalTreeNode.java rename to src/test/java/com/github/btrekkie/interval_tree/IntervalTreeNode.java diff --git a/src/com/github/btrekkie/interval_tree/test/IntervalTreeTest.java b/src/test/java/com/github/btrekkie/interval_tree/test/IntervalTreeTest.java similarity index 100% rename from src/com/github/btrekkie/interval_tree/test/IntervalTreeTest.java rename to src/test/java/com/github/btrekkie/interval_tree/test/IntervalTreeTest.java diff --git a/src/com/github/btrekkie/red_black_node/test/RedBlackNodeTest.java b/src/test/java/com/github/btrekkie/red_black_node/test/RedBlackNodeTest.java similarity index 100% rename from src/com/github/btrekkie/red_black_node/test/RedBlackNodeTest.java rename to src/test/java/com/github/btrekkie/red_black_node/test/RedBlackNodeTest.java diff --git a/src/com/github/btrekkie/red_black_node/test/TestRedBlackNode.java b/src/test/java/com/github/btrekkie/red_black_node/test/TestRedBlackNode.java similarity index 100% rename from src/com/github/btrekkie/red_black_node/test/TestRedBlackNode.java rename to src/test/java/com/github/btrekkie/red_black_node/test/TestRedBlackNode.java diff --git a/src/com/github/btrekkie/sub_array_min/SubArrayMin.java b/src/test/java/com/github/btrekkie/sub_array_min/SubArrayMin.java similarity index 100% rename from src/com/github/btrekkie/sub_array_min/SubArrayMin.java rename to src/test/java/com/github/btrekkie/sub_array_min/SubArrayMin.java diff --git a/src/com/github/btrekkie/sub_array_min/SubArrayMinNode.java b/src/test/java/com/github/btrekkie/sub_array_min/SubArrayMinNode.java similarity index 100% rename from src/com/github/btrekkie/sub_array_min/SubArrayMinNode.java rename to src/test/java/com/github/btrekkie/sub_array_min/SubArrayMinNode.java diff --git a/src/com/github/btrekkie/sub_array_min/test/SubArrayMinTest.java b/src/test/java/com/github/btrekkie/sub_array_min/test/SubArrayMinTest.java similarity index 100% rename from src/com/github/btrekkie/sub_array_min/test/SubArrayMinTest.java rename to src/test/java/com/github/btrekkie/sub_array_min/test/SubArrayMinTest.java diff --git a/src/com/github/btrekkie/tree_list/test/TreeListTest.java b/src/test/java/com/github/btrekkie/tree_list/test/TreeListTest.java similarity index 100% rename from src/com/github/btrekkie/tree_list/test/TreeListTest.java rename to src/test/java/com/github/btrekkie/tree_list/test/TreeListTest.java diff --git a/target/RedBlackNode-1.0.0.jar b/target/RedBlackNode-1.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..0b2b3dbf9abb7047d7f8564c2ece619173236ffc GIT binary patch literal 20851 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 Tv$BDV7Y4#IAnQ5M0tN;E1h=tA literal 0 HcmV?d00001