Comments (7)
sdk = GaeSdk.findSdkFor(javaProject); is finding, and this is wrong.
/Users/branflake2267/.m2/repository/com/google/appengine/appengine-api-1.0-sdk/1.9.18/appengine-api-1.0-sdk-1.9.18.jar, /Users/branflake2267/.m2/repository/com/google/appengine/appengine-api-1.0-sdk/1.9.18/appengine-api-1.0-sdk-1.9.18.jar,
from gwt-eclipse-plugin.
It appears the issue exists in GaeSdk.getInstallationPath() when m2e is providing the library, it has the wrong base path for the java sdk .
from gwt-eclipse-plugin.
GaeSdkInstaller is installing zip by unzipping and adding it to the list. "gaeSdk" extension query not pulling it up.
from gwt-eclipse-plugin.
Original error
!MESSAGE GAE SDK /Users/branflake2267/.m2/repository/com/google/appengine/appengine-api-1.0-sdk/1.9.18/appengine-api-1.0-sdk-1.9.18.jar failed validation
!STACK 1
org.eclipse.core.runtime.CoreException: SDK location '/Users/branflake2267/.m2/repository/com/google/appengine/appengine-api-1.0-sdk/1.9.18/appengine-api-1.0-sdk-1.9.18.jar' is not a directory
at com.google.appengine.eclipse.core.sdk.AppEngineBridgeFactory.getAppEngineBridge(AppEngineBridgeFactory.java:73)
at com.google.appengine.eclipse.core.sdk.GaeSdk.getAppEngineBridge(GaeSdk.java:326)
at com.google.appengine.eclipse.core.sdk.GaeSdk.validate(GaeSdk.java:494)
at com.google.appengine.eclipse.core.orm.enhancement.AutoEnhancer.hasValidSdk(AutoEnhancer.java:209)
at com.google.appengine.eclipse.core.orm.enhancement.AutoEnhancer.build(AutoEnhancer.java:126)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
from gwt-eclipse-plugin.
Fixed library path, but now, the enhancer isn't getting the tools lib loaded in the classpath. Tracking that down now. Trying to figure out how the bridge is adding the tools api jar to classpath for enhancer.
workaround for maven lib path.
@Override
public IPath getInstallationPath() {
try {
IPath fragmentRootPath = null;
IPath installPath = null;
// Check for a type that lives appengine-api-*.jar
IType gaeMarkerType = javaProject.findType(GAE_MARKER_TYPE);
if (gaeMarkerType != null) {
IPackageFragmentRoot packageFragmentRoot =
(IPackageFragmentRoot) gaeMarkerType.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
fragmentRootPath = packageFragmentRoot.getPath();
// Used for maven path, this may not be the best method (might be considered to be a workaround)
// See: GaeSdkInstaller.mavenRepositorySdkPath(...)
if (fragmentRootPath.segmentCount() > 3 && MavenUtils.hasMavenNature(javaProject.getProject())) {
String version = fragmentRootPath.removeLastSegments(1).removeFirstSegments(fragmentRootPath.segments().length - 2).toPortableString();
String sdkPath = String.format("appengine-java-sdk/%s/appengine-java-sdk/appengine-java-sdk-%s", version, version); // from GaeSdkInstaller
installPath = fragmentRootPath.removeLastSegments(3).addTrailingSeparator().append(sdkPath);
System.out.println("~~~~ installPath=" + installPath);
} else if (fragmentRootPath.segmentCount() > 1
&& (fragmentRootPath.removeLastSegments(1).addTrailingSeparator().toPortableString()
.endsWith(SDK_LIB_USER_DIR_PORTABLE_SUBPATH) || fragmentRootPath
.removeLastSegments(1).addTrailingSeparator().toPortableString()
.endsWith(SDK_LIB_IMPL_DIR_PORTABLE_SUBPATH))) {
// Should live in SDK_ROOT/lib/user or SDK_ROOT/lib/impl
installPath = fragmentRootPath.removeLastSegments(3);
}
} else {
// Check for a type that lives in appengine-tools-api.jar
gaeMarkerType = javaProject.findType(GAE_TOOLS_MARKER_TYPE);
if (gaeMarkerType != null) {
IPackageFragmentRoot packageFragmentRoot =
(IPackageFragmentRoot) gaeMarkerType
.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
fragmentRootPath = packageFragmentRoot.getPath();
if (fragmentRootPath.segmentCount() > 1
&& fragmentRootPath.removeLastSegments(1).addTrailingSeparator().toPortableString()
.endsWith(SDK_LIB_DIR_PORTABLE_SUBPATH)) {
// Should live in SDK_ROOT/lib
installPath = fragmentRootPath.removeLastSegments(2);
}
}
}
if (installPath != null) {
return installPath;
}
return fragmentRootPath;
} catch (JavaModelException e) {
AppEngineCorePluginLog.logError(e);
}
return null;
}
from gwt-eclipse-plugin.
Wahoo, fixed in app. Going to pull and test.
EnhancerJob
@Override
public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
List<String> classpath = buildClasspath(javaProject);
// Workaround, when using maven project, the tools api jar isn't in rumtime classpath
if (sdk != null && MavenUtils.hasMavenNature(javaProject.getProject())) {
IPath toolApiJarPath = sdk.getInstallationPath().append(GaeSdk.APPENGINE_TOOLS_API_JAR_PATH);
classpath.add(toolApiJarPath.toPortableString());
}
from gwt-eclipse-plugin.
from gwt-eclipse-plugin.
Related Issues (20)
- Marketplace install does not contain the SDKs HOT 2
- Installing GWT Plugin involves trusting unsigned code HOT 1
- Super/Legacy Development Mode Radio Toggle missing for GWT 2.10.x HOT 17
- "Language Servers" Errors in Eclipse 2023-03 HOT 3
- Build failure due to bad caching performed by maven-download-plugin HOT 2
- Long paths stopped working on 4.0.0 HOT 3
- Plugin 4.0.0 / Run Configuration / Not producing SuperDev HOT 2
- GWT compilation error in Eclipse with GWT 3.0 plugin HOT 10
- Change plugin's content assist contributors to support asynchronous non-blocking completions HOT 2
- Is there a tutorial here on how to install the plugin in Eclipse? HOT 4
- Unable to install plugin version 4.0.0 in Eclipse 2023-12 (requires 'osgi.bundle; javax.inject 1.0.0' but it could not be found) HOT 12
- Unable to create run configuration for super dev mode HOT 1
- Is it possible to update the Jetty to a version that supports Jakarta? HOT 1
- Update to GWT 2.11 HOT 3
- Error while installing in eclipse HOT 1
- Installation fails on Eclipse 2023.12 HOT 2
- Error installing from market place because of javax.inject which was moves to jakarta.inject HOT 4
- Fresh install of the plugin in Eclipse 2024-03 is missing dependencies HOT 2
- Add support for Eclipse 2024-03 (4.31.0) HOT 8
- GWT recompilation does not occur if you modify a properties file located on a submodule HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gwt-eclipse-plugin.