From 69c1ae3fd8658564fc36cd3baf362ab9a537a0f6 Mon Sep 17 00:00:00 2001 From: angelozerr Date: Fri, 5 Dec 2014 19:01:22 +0100 Subject: [PATCH] Load repository.json from HTTP. See https://github.com/angelozerr/tern.java/issues/195 --- .../src/tern/TernRepositoryTest.java | 1 + core/tern.core/META-INF/MANIFEST.MF | 5 + core/tern.core/src/tern/ITernProject.java | 1 + .../{ => repository}/ITernRepository.java | 5 +- .../tern/{ => repository}/TernRepository.java | 3 +- .../src/tern/resources/TernProject.java | 2 +- .../src/tern/utils/TernRepositoryHelper.java | 85 ++++++ core/tern.server.nodejs/META-INF/MANIFEST.MF | 2 +- .../tern/server/nodejs/NodejsTernHelper.java | 6 +- .../ide/core/ITernRepositoryManager.java | 2 +- .../internal/core/TernRepositoryManager.java | 4 +- .../internal/core/TernServerTypeManager.java | 2 +- .../internal/core/builder/TernBuilder.java | 41 +++ .../core/resources/IDETernProject.java | 2 +- .../tools/core/webbrowser/EditorOptions.java | 2 +- .../META-INF/MANIFEST.MF | 4 +- .../plugin.properties | 3 + eclipse/tern.eclipse.ide.tools.ui/plugin.xml | 7 + .../internal/ui/TernToolsUIMessages.java | 8 + .../ui/TernToolsUIMessages.properties | 14 +- .../internal/ui/wizards/DownloadOptions.java | 22 ++ .../wizards/DownloadTernModulesOperation.java | 63 ++++ ...ownloadTernModulesSelectionWizardPage.java | 271 ++++++++++++++---- .../ui/wizards/DownloadTernModulesWizard.java | 1 + .../tools/internal/ui/wizards/IOperation.java | 4 +- .../internal/ui/wizards/NewFileOperation.java | 3 +- .../tools/internal/ui/wizards/TernWizard.java | 2 +- .../webbrowser/ExportScriptsOperation.java | 37 --- .../TernModulesSelectionWizardPage.java | 2 +- .../ui/dialogs/EditRepositoryDialog.java | 4 +- .../TernRepositoryPreferencesPage.java | 2 +- .../ide/ui/controls/TernRepositoryBlock.java | 4 +- .../viewers/TernRepositoryLabelProvider.java | 7 +- 33 files changed, 507 insertions(+), 114 deletions(-) rename core/tern.core/src/tern/{ => repository}/ITernRepository.java (90%) rename core/tern.core/src/tern/{ => repository}/TernRepository.java (94%) create mode 100644 core/tern.core/src/tern/utils/TernRepositoryHelper.java create mode 100644 eclipse/tern.eclipse.ide.tools.ui/src/tern/eclipse/ide/tools/internal/ui/wizards/DownloadTernModulesOperation.java delete mode 100644 eclipse/tern.eclipse.ide.tools.ui/src/tern/eclipse/ide/tools/internal/ui/wizards/webbrowser/ExportScriptsOperation.java diff --git a/core/tern.core.tests/src/tern/TernRepositoryTest.java b/core/tern.core.tests/src/tern/TernRepositoryTest.java index 99a6e7418..46b868ef9 100644 --- a/core/tern.core.tests/src/tern/TernRepositoryTest.java +++ b/core/tern.core.tests/src/tern/TernRepositoryTest.java @@ -5,6 +5,7 @@ import org.junit.Assert; import org.junit.Test; +import tern.repository.TernRepository; import tern.server.ITernModule; import tern.server.nodejs.process.PathHelper; diff --git a/core/tern.core/META-INF/MANIFEST.MF b/core/tern.core/META-INF/MANIFEST.MF index 55cdd41de..56f94a6f7 100644 --- a/core/tern.core/META-INF/MANIFEST.MF +++ b/core/tern.core/META-INF/MANIFEST.MF @@ -17,6 +17,7 @@ Export-Package: tern, tern.doc, tern.internal.resources;x-internal:=true, tern.metadata, + tern.repository, tern.resources, tern.scriptpath, tern.scriptpath.impl, @@ -30,6 +31,10 @@ Export-Package: tern, tern.server.protocol.type, tern.utils Import-Package: com.eclipsesource.json, + org.apache.http;resolution:=optional, + org.apache.http.client;resolution:=optional, + org.apache.http.client.methods;resolution:=optional, + org.apache.http.impl.client;resolution:=optional, org.osgi.framework Bundle-Activator: tern.Activator Bundle-ActivationPolicy: lazy diff --git a/core/tern.core/src/tern/ITernProject.java b/core/tern.core/src/tern/ITernProject.java index 9fa0059d0..9789dff40 100644 --- a/core/tern.core/src/tern/ITernProject.java +++ b/core/tern.core/src/tern/ITernProject.java @@ -17,6 +17,7 @@ import org.w3c.dom.Node; +import tern.repository.ITernRepository; import tern.scriptpath.ITernScriptPath; import tern.server.ITernDef; import tern.server.ITernPlugin; diff --git a/core/tern.core/src/tern/ITernRepository.java b/core/tern.core/src/tern/repository/ITernRepository.java similarity index 90% rename from core/tern.core/src/tern/ITernRepository.java rename to core/tern.core/src/tern/repository/ITernRepository.java index 024dab094..8a758de78 100644 --- a/core/tern.core/src/tern/ITernRepository.java +++ b/core/tern.core/src/tern/repository/ITernRepository.java @@ -8,14 +8,15 @@ * Contributors: * Angelo Zerr - initial API and implementation */ -package tern; +package tern.repository; import java.io.File; +import tern.TernException; import tern.server.ITernModule; /** - * Tern repository is a base dir which contains the tern.js JS files : + * Tern repository is a local base dir which contains the tern.js JS files : * *