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)
- Maven support is broken in Eclipse 2022-06
- Module creation is broken HOT 1
- Remove all jar artifacts from the repo
- Project's GWT SDK not detected HOT 13
- Module manifests should use https HOT 1
- Should we remove the included GWT SDKs from the plugin? HOT 13
- 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 1
- 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
- Is it possible to update the Jetty to a version that supports Jakarta? HOT 1
- Update to GWT 2.11
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.