summaryrefslogtreecommitdiffstats
path: root/tools/integrate/Module.java
diff options
context:
space:
mode:
authorJesse Wilson <jessewilson@google.com>2009-09-14 11:23:39 -0700
committerJesse Wilson <jessewilson@google.com>2009-09-15 14:02:30 -0700
commit0ad6047ce9518a68af5b103f8cb4a55e1565d7f7 (patch)
treef1a2f5c38ea802a325c4650a1ee5daf88bb5ead0 /tools/integrate/Module.java
parentc3400414d2ace90f4bffe1245b6310d9bcdf9bc0 (diff)
downloadlibcore-0ad6047ce9518a68af5b103f8cb4a55e1565d7f7.zip
libcore-0ad6047ce9518a68af5b103f8cb4a55e1565d7f7.tar.gz
libcore-0ad6047ce9518a68af5b103f8cb4a55e1565d7f7.tar.bz2
First cut at a tool to perform automated syncs from Harmony to Dalvik.
Much of the work of the tool is managing three versions of our code: - the current Harmony code - the current Dalvik code - the common ancestor, an older version of Harmony The tool calls out to the command line to perform the actual filesystem work. Eventually I'd like to support all of our modules, and also gathering diffs to send upstream to Harmony.
Diffstat (limited to 'tools/integrate/Module.java')
-rw-r--r--tools/integrate/Module.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/tools/integrate/Module.java b/tools/integrate/Module.java
new file mode 100644
index 0000000..5cb7035
--- /dev/null
+++ b/tools/integrate/Module.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+/**
+ * A logical unit of code shared between Apache Harmony and Dalvik.
+ */
+class Module {
+
+ private final String svnBaseUrl;
+ private final String path;
+ private final Set<MappedDirectory> mappedDirectories;
+
+ public String getSvnBaseUrl() {
+ return svnBaseUrl;
+ }
+
+ public String path() {
+ return path;
+ }
+
+ public Set<MappedDirectory> getMappedDirectories() {
+ return mappedDirectories;
+ }
+
+ private Module(Builder builder) {
+ this.svnBaseUrl = builder.svnBaseUrl;
+ this.path = builder.path;
+ this.mappedDirectories = new LinkedHashSet<MappedDirectory>(builder.mappedDirectories);
+ }
+
+ public static class Builder {
+ private final String svnBaseUrl;
+ private final String path;
+ private final Set<MappedDirectory> mappedDirectories
+ = new LinkedHashSet<MappedDirectory>();
+
+ public Builder(String svnBaseUrl, String path) {
+ this.svnBaseUrl = svnBaseUrl;
+ this.path = path;
+ }
+
+ public Builder mapDirectory(String svnPath, String gitPath) {
+ mappedDirectories.add(new MappedDirectory(svnPath, gitPath));
+ return this;
+ }
+
+ public Module build() {
+ return new Module(this);
+ }
+ }
+}