aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse
diff options
context:
space:
mode:
authorBrett Chabot <brettchabot@android.com>2010-03-17 21:27:15 -0700
committerBrett Chabot <brettchabot@android.com>2010-03-19 12:41:14 -0700
commit93ea471cbb45a4b47ebeceaadcc2e639996bf418 (patch)
tree519b6c92d8c60c2167cf177c5288feb58171e442 /eclipse
parent01593451e9e9b36938be51a189d7cb3b70d199b3 (diff)
downloadsdk-93ea471cbb45a4b47ebeceaadcc2e639996bf418.zip
sdk-93ea471cbb45a4b47ebeceaadcc2e639996bf418.tar.gz
sdk-93ea471cbb45a4b47ebeceaadcc2e639996bf418.tar.bz2
Externalize ADT JUnit launch strings.
Bug 1722668 Change-Id: I260525aaccbd6e243b43d4229ef943978f9c1cf1
Diffstat (limited to 'eclipse')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/LaunchMessages.java54
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchAction.java9
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigDelegate.java18
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigurationTab.java13
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/InstrumentationRunnerValidator.java8
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/runtime/RemoteAdtTestRunner.java9
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/messages.properties38
7 files changed, 126 insertions, 23 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/LaunchMessages.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/LaunchMessages.java
new file mode 100644
index 0000000..c105215
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/LaunchMessages.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php
+ *
+ * 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.
+ */
+
+package com.android.ide.eclipse.adt.internal.launch;
+
+import org.eclipse.osgi.util.NLS;
+
+public class LaunchMessages extends NLS {
+ private static final String BUNDLE_NAME = "com.android.ide.eclipse.adt.internal.launch.messages"; //$NON-NLS-1$
+
+ // generic messages that could be used by multiple classes
+ public static String LaunchDialogTitle;
+ public static String NonAndroidProjectError;
+ public static String ParseFileFailure_s;
+
+ // specialized, class-specific messages
+ public static String AndroidJUnitLaunchAction_LaunchDesc_s;
+ public static String AndroidJUnitLaunchAction_LaunchFail;
+ public static String AndroidJUnitLaunchAction_LaunchInstr_2s;
+ public static String AndroidJUnitDelegate_NoRunnerConfigMsg_s;
+ public static String AndroidJUnitDelegate_NoRunnerConsoleMsg_4s;
+ public static String AndroidJUnitDelegate_NoRunnerMsg_s;
+ public static String AndroidJUnitDelegate_NoTargetMsg_3s;
+ public static String AndroidJUnitTab_LoaderLabel;
+ public static String AndroidJUnitTab_LoadInstrError_s;
+ public static String AndroidJUnitTab_NoRunnerError;
+ public static String AndroidJUnitTab_TestContainerText;
+ public static String InstrValidator_NoTestLibMsg_s;
+ public static String InstrValidator_WrongRunnerTypeMsg_s;
+ public static String RemoteAdtTestRunner_RunCompleteMsg;
+ public static String RemoteAdtTestRunner_RunFailedMsg_s;
+ public static String RemoteAdtTestRunner_RunStoppedMsg;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, LaunchMessages.class);
+ }
+
+ private LaunchMessages() {
+ }
+}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchAction.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchAction.java
index 523db3e..fcb859a 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchAction.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchAction.java
@@ -19,6 +19,7 @@ import com.android.ddmlib.IDevice;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.internal.launch.DelayedLaunchInfo;
import com.android.ide.eclipse.adt.internal.launch.IAndroidLaunchAction;
+import com.android.ide.eclipse.adt.internal.launch.LaunchMessages;
import com.android.ide.eclipse.adt.internal.launch.junit.runtime.AndroidJUnitLaunchInfo;
import com.android.ide.eclipse.adt.internal.launch.junit.runtime.RemoteAdtTestRunner;
@@ -56,7 +57,7 @@ class AndroidJUnitLaunchAction implements IAndroidLaunchAction {
* @see IAndroidLaunchAction#doLaunchAction(DelayedLaunchInfo, IDevice)
*/
public boolean doLaunchAction(DelayedLaunchInfo info, IDevice device) {
- String msg = String.format("Launching instrumentation %s on device %s",
+ String msg = String.format(LaunchMessages.AndroidJUnitLaunchAction_LaunchInstr_2s,
mLaunchInfo.getRunner(), device.getSerialNumber());
AdtPlugin.printToConsole(info.getProject(), msg);
@@ -72,7 +73,8 @@ class AndroidJUnitLaunchAction implements IAndroidLaunchAction {
// TODO: need to add AMReceiver-type functionality somewhere
} catch (CoreException e) {
- AdtPlugin.printErrorToConsole(info.getProject(), "Failed to launch test");
+ AdtPlugin.printErrorToConsole(info.getProject(),
+ LaunchMessages.AndroidJUnitLaunchAction_LaunchFail);
}
return true;
}
@@ -81,7 +83,8 @@ class AndroidJUnitLaunchAction implements IAndroidLaunchAction {
* {@inheritDoc}
*/
public String getLaunchDescription() {
- return String.format("%s JUnit launch", mLaunchInfo.getRunner());
+ return String.format(LaunchMessages.AndroidJUnitLaunchAction_LaunchDesc_s,
+ mLaunchInfo.getRunner());
}
/**
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigDelegate.java
index 5c5a79a..6ad67ad 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigDelegate.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigDelegate.java
@@ -23,6 +23,7 @@ import com.android.ide.eclipse.adt.internal.launch.AndroidLaunchConfiguration;
import com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController;
import com.android.ide.eclipse.adt.internal.launch.IAndroidLaunchAction;
import com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate;
+import com.android.ide.eclipse.adt.internal.launch.LaunchMessages;
import com.android.ide.eclipse.adt.internal.launch.junit.runtime.AndroidJUnitLaunchInfo;
import com.android.ide.eclipse.adt.internal.project.AndroidManifestParser;
import com.android.ide.eclipse.adt.internal.project.BaseProjectHelper;
@@ -63,8 +64,8 @@ public class AndroidJUnitLaunchConfigDelegate extends LaunchConfigDelegate {
String runner = getRunner(project, configuration, manifestParser);
if (runner == null) {
- AdtPlugin.displayError("Android Launch",
- String.format("%1$s is not configured correctly for running tests. See Console for details.",
+ AdtPlugin.displayError(LaunchMessages.LaunchDialogTitle,
+ String.format(LaunchMessages.AndroidJUnitDelegate_NoRunnerMsg_s,
project.getName()));
androidLaunch.stopLaunch();
return;
@@ -72,8 +73,8 @@ public class AndroidJUnitLaunchConfigDelegate extends LaunchConfigDelegate {
// get the target app's package
String targetAppPackage = getTargetPackage(manifestParser, runner);
if (targetAppPackage == null) {
- AdtPlugin.displayError("Android Launch",
- String.format("%1$s is not configured correctly for running tests:\nA targetPackage attribute for instrumentation %2$s in its %3$s could not be found!",
+ AdtPlugin.displayError(LaunchMessages.LaunchDialogTitle,
+ String.format(LaunchMessages.AndroidJUnitDelegate_NoTargetMsg_3s,
project.getName(), runner, AndroidConstants.FN_ANDROID_MANIFEST));
androidLaunch.stopLaunch();
return;
@@ -178,13 +179,12 @@ public class AndroidJUnitLaunchConfigDelegate extends LaunchConfigDelegate {
BaseProjectHelper.getJavaProject(project), manifestParser);
runner = instrFinder.getValidInstrumentationTestRunner();
if (runner != null) {
- AdtPlugin.printErrorToConsole(project,
- String.format("Warning: No instrumentation runner found for the launch, " +
- "using %1$s", runner));
+ AdtPlugin.printErrorToConsole(project, String.format(
+ LaunchMessages.AndroidJUnitDelegate_NoRunnerConfigMsg_s, runner));
return runner;
}
- AdtPlugin.printErrorToConsole(project,
- String.format("%1$s does not specify a %2$s instrumentation or does not declare uses-library %3$s in its %4$s",
+ AdtPlugin.printErrorToConsole(project, String.format(
+ LaunchMessages.AndroidJUnitDelegate_NoRunnerConsoleMsg_4s,
project.getName(),
AndroidConstants.CLASS_INSTRUMENTATION_RUNNER,
AndroidConstants.LIBRARY_TEST_RUNNER,
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigurationTab.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigurationTab.java
index fc96d7a..0850e14 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigurationTab.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/AndroidJUnitLaunchConfigurationTab.java
@@ -17,6 +17,7 @@ package com.android.ide.eclipse.adt.internal.launch.junit;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.AndroidConstants;
+import com.android.ide.eclipse.adt.internal.launch.LaunchMessages;
import com.android.ide.eclipse.adt.internal.launch.MainLaunchConfigTab;
import com.android.ide.eclipse.adt.internal.project.BaseProjectHelper;
import com.android.ide.eclipse.adt.internal.project.ProjectChooserHelper;
@@ -242,7 +243,7 @@ public class AndroidJUnitLaunchConfigurationTab extends AbstractLaunchConfigurat
private void createTestContainerSelectionGroup(Composite comp) {
mTestContainerRadioButton = new Button(comp, SWT.RADIO);
mTestContainerRadioButton.setText(
- "Run all tests in the selected project, or package");
+ LaunchMessages.AndroidJUnitTab_TestContainerText);
GridData gd = new GridData();
gd.horizontalSpan = 3;
mTestContainerRadioButton.setLayoutData(gd);
@@ -280,7 +281,7 @@ public class AndroidJUnitLaunchConfigurationTab extends AbstractLaunchConfigurat
private void createInstrumentationGroup(Composite comp) {
Label loaderLabel = new Label(comp, SWT.NONE);
- loaderLabel.setText("Instrumentation runner:");
+ loaderLabel.setText(LaunchMessages.AndroidJUnitTab_LoaderLabel);
GridData gd = new GridData();
gd.horizontalIndent = 0;
loaderLabel.setLayoutData(gd);
@@ -663,7 +664,8 @@ public class AndroidJUnitLaunchConfigurationTab extends AbstractLaunchConfigurat
try {
if (!project.hasNature(AndroidConstants.NATURE)) {
- setErrorMessage("Specified project is not an Android project");
+ setErrorMessage(
+ LaunchMessages.NonAndroidProjectError);
return;
}
String className = mTestText.getText().trim();
@@ -694,7 +696,7 @@ public class AndroidJUnitLaunchConfigurationTab extends AbstractLaunchConfigurat
private void validateInstrumentation() {
String instrumentation = getSelectedInstrumentation();
if (instrumentation == null) {
- setErrorMessage("Instrumentation runner not specified");
+ setErrorMessage(LaunchMessages.AndroidJUnitTab_NoRunnerError);
return;
}
String result = mInstrValidator.validateInstrumentationRunner(instrumentation);
@@ -966,7 +968,8 @@ public class AndroidJUnitLaunchConfigurationTab extends AbstractLaunchConfigurat
return;
}
} catch (CoreException e) {
- AdtPlugin.logAndPrintError(e, project.getName(), "Failed to load instrumentations from %1$s",
+ AdtPlugin.logAndPrintError(e, project.getName(),
+ LaunchMessages.AndroidJUnitTab_LoadInstrError_s,
AndroidConstants.FN_ANDROID_MANIFEST);
}
// if we reach this point, either project is null, or we got an exception during
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/InstrumentationRunnerValidator.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/InstrumentationRunnerValidator.java
index 71c6628..cadb7c1 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/InstrumentationRunnerValidator.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/InstrumentationRunnerValidator.java
@@ -17,6 +17,7 @@ package com.android.ide.eclipse.adt.internal.launch.junit;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.AndroidConstants;
+import com.android.ide.eclipse.adt.internal.launch.LaunchMessages;
import com.android.ide.eclipse.adt.internal.project.AndroidManifestParser;
import com.android.ide.eclipse.adt.internal.project.BaseProjectHelper;
import com.android.ide.eclipse.adt.internal.project.AndroidManifestParser.Instrumentation;
@@ -47,7 +48,7 @@ class InstrumentationRunnerValidator {
null /* errorListener */, true /* gatherData */, false /* markErrors */);
init(manifestParser);
} catch (CoreException e) {
- AdtPlugin.printErrorToConsole(javaProject.getProject(), "Failed to parse %1$s",
+ AdtPlugin.printErrorToConsole(javaProject.getProject(), LaunchMessages.ParseFileFailure_s,
AndroidConstants.FN_ANDROID_MANIFEST);
}
}
@@ -132,7 +133,7 @@ class InstrumentationRunnerValidator {
*/
String validateInstrumentationRunner(String instrumentation) {
if (!mHasRunnerLibrary) {
- return String.format("The application does not declare uses-library %1$s",
+ return String.format(LaunchMessages.InstrValidator_NoTestLibMsg_s,
AndroidConstants.LIBRARY_TEST_RUNNER);
}
// check if this instrumentation is the standard test runner
@@ -141,7 +142,8 @@ class InstrumentationRunnerValidator {
String result = BaseProjectHelper.testClassForManifest(mJavaProject,
instrumentation, AndroidConstants.CLASS_INSTRUMENTATION_RUNNER, true);
if (result != BaseProjectHelper.TEST_CLASS_OK) {
- return String.format("The instrumentation runner must be of type %s",
+ return String.format(
+ LaunchMessages.InstrValidator_WrongRunnerTypeMsg_s,
AndroidConstants.CLASS_INSTRUMENTATION_RUNNER);
}
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/runtime/RemoteAdtTestRunner.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/runtime/RemoteAdtTestRunner.java
index e2afc40..af87254 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/runtime/RemoteAdtTestRunner.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/junit/runtime/RemoteAdtTestRunner.java
@@ -20,6 +20,7 @@ import com.android.ddmlib.testrunner.ITestRunListener;
import com.android.ddmlib.testrunner.RemoteAndroidTestRunner;
import com.android.ddmlib.testrunner.TestIdentifier;
import com.android.ide.eclipse.adt.AdtPlugin;
+import com.android.ide.eclipse.adt.internal.launch.LaunchMessages;
import org.eclipse.jdt.internal.junit.runner.MessageIds;
import org.eclipse.jdt.internal.junit.runner.RemoteTestRunner;
@@ -154,7 +155,7 @@ public class RemoteAdtTestRunner extends RemoteTestRunner {
*/
private void reportError(String errorMessage) {
AdtPlugin.printErrorToConsole(mLaunchInfo.getProject(),
- String.format("Test run failed: %s", errorMessage));
+ String.format(LaunchMessages.RemoteAdtTestRunner_RunFailedMsg_s, errorMessage));
// is this needed?
//notifyTestRunStopped(-1);
}
@@ -192,7 +193,8 @@ public class RemoteAdtTestRunner extends RemoteTestRunner {
*/
public void testRunEnded(long elapsedTime) {
notifyTestRunEnded(elapsedTime);
- AdtPlugin.printToConsole(mLaunchInfo.getProject(), "Test run complete");
+ AdtPlugin.printToConsole(mLaunchInfo.getProject(),
+ LaunchMessages.RemoteAdtTestRunner_RunCompleteMsg);
}
/* (non-Javadoc)
@@ -214,7 +216,8 @@ public class RemoteAdtTestRunner extends RemoteTestRunner {
*/
public void testRunStopped(long elapsedTime) {
notifyTestRunStopped(elapsedTime);
- AdtPlugin.printToConsole(mLaunchInfo.getProject(), "Test run stopped");
+ AdtPlugin.printToConsole(mLaunchInfo.getProject(),
+ LaunchMessages.RemoteAdtTestRunner_RunStoppedMsg);
}
/* (non-Javadoc)
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/messages.properties b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/messages.properties
new file mode 100644
index 0000000..756aa61
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/launch/messages.properties
@@ -0,0 +1,38 @@
+#
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php
+#
+# 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.
+#
+
+# generic messages that could be used by multiple classes
+LaunchDialogTitle=Android Launch
+NonAndroidProjectError=Specified project is not an Android project
+ParseFileFailure_s=Failed to parse %1$s file
+
+# specialized, class-specific messages
+AndroidJUnitLaunchAction_LaunchDesc_s=%1$s JUnit launch
+AndroidJUnitLaunchAction_LaunchFail=Failed to launch test
+AndroidJUnitLaunchAction_LaunchInstr_2s=Launching instrumentation %1$s on device %2$s
+AndroidJUnitDelegate_NoRunnerConfigMsg_s=Warning: No instrumentation runner found for the launch, using %1$s
+AndroidJUnitDelegate_NoRunnerConsoleMsg_4s=%1$s does not specify a %2$s instrumentation or does not declare uses-library %3$s in its %4$s
+AndroidJUnitDelegate_NoRunnerMsg_s=%1$s is not configured correctly for running tests. See Console for details.
+AndroidJUnitDelegate_NoTargetMsg_3s=%1$s is not configured correctly for running tests:\nA targetPackage attribute for instrumentation %2$s in its %3$s could not be found\!
+AndroidJUnitTab_LoaderLabel=Instrumentation runner:
+AndroidJUnitTab_LoadInstrError_s=Failed to load instrumentations from %1$s
+AndroidJUnitTab_NoRunnerError=Instrumentation runner not specified
+AndroidJUnitTab_TestContainerText=Run all tests in the selected project, or package
+InstrValidator_NoTestLibMsg_s=The application does not declare uses-library %1$s
+InstrValidator_WrongRunnerTypeMsg_s=The instrumentation runner must be of type %1$s
+RemoteAdtTestRunner_RunCompleteMsg=Test run complete
+RemoteAdtTestRunner_RunFailedMsg_s=Test run failed: %1$s
+RemoteAdtTestRunner_RunStoppedMsg=Test run stopped