Has anyone build project (containing project Lombok annotations) with ant build?
I have added lombok.jar in classpath, but still not working.
Possible problems:
You're not actually including the jar file in classpath. Worth checking it twice.
You are including the jar, but annotation processing is off. This
would happen if you're compiling with javac5 or earlier. Use javac6
and make sure there's nothing like -proc:none being passed as
argument.
Related
"Requested resource [/VAADIN/widgetsets/AppWidgetset/AppWidgetset.nocache.js] not found.." I get this when I'm including new addons, either from a JAR file or through Maven. Sometimes, if I've added the dependency in Maven, adding the JAR file as well to the build path fixes it, sometimes it's the other way around, other times compiling the widgetset and/or theme fixes it, and there are even times when nothing helps. This type of behavior seems to me more random than scientific.
I would love to know how to properly add dependencies to the project so that I can avoid this problem.
Select the UI project and goto Properties - Deployment Assembly. Check if you already have widgetset.jar file. If the widgetset.jar is missing then Click on Add -> Maven Project and select widgetset (make sure the jar file naming convention follows backend project like WEB-INF/lib/qqq-widgetset-1.0-SNAPSHOT.jar and WEB-INF/lib/qqq-backend-1.0-SNAPSHOT.jar)
Do xcode 7 compiles all files upon build action while only few files are modified?
If YES, does XcodeBuild provides any support to customize building process by compiling only modified files ?
Thanks
No. Xcode, by default, will not recompile unchanged files.
You can force a recompile of all files in the target, by first issuing a "clean" command.
Also note that Xcode will only compile files which are members of the current target.
No, Xcode tracks dependencies and only compiles those files that need to be recompiled. If you're working in Objective-C it's a good idea to put your #import statements in your .m files where possible, since it prevents your project from becoming dependent on every single header file. (I don't know as much about how dependencies are determined in Swift.)
I’m trying to use JavaFXPorts and RoboVM-cocoatouch but I can’t use the native stuff from RoboVM like UIButton.
I have the following dependencies in my build.gradle file:
classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b5'
classpath 'org.robovm:robovm-cocoatouch:1.0.0'
And I'm trying to import org.robovm.apple.uikit.* but eclipse can't find the Packages.
What I have to do that I can use JavaFXPorts and the native stuff from RoboVM?
The short answer:
you need to create a folder src/ios/java in which your iOS specific source files should be located. The source files within this folder automatically have the correct classpath set, so you can use the RoboVM classes there.
The long answer:
In addition to the default main source set, the jfxmobile plugin also adds a source set for every platform the plugin supports: android, ios and desktop. Each source set has a src/PLATFORM/java and src/PLATFORM/resources directory which contains the platform specific source files and resource files respectively.
Platform independent code must be written inside the folder src/main/java, while platform specific code must be written inside the matching platform sources folder. For instance, in your case, iOS code should be put inside the src/ios/java folder.
The plugin also makes sure that the dependencies are correctly configured for each source set. Also, when you are for instance generating your IPA, it will only contain the class files from the main and ios source sets.
For more information about the structure of a jfxmobile project, look at the Structure section on this webpage: http://javafxports.org/page/Setting_up
You can read more information about gradle source sets in the java plugin documentation: http://gradle.org/docs/current/userguide/java_plugin.html
I am trying to integrate Twitter in my application. I import two .jar files with different names, but one package has the same name in both files. When I compile, it shoes following error.
Description Resource Path Location Type
D:\CustomClasses\ksoap2-j2me-core-prev-2.1.2.jar(org/kxml2/io/KXmlParser.class): Error!: Duplicate definition for 'org.kxml2.io.KXmlParser' found in: org.kxml2.io.KXmlParser
Assuming the two JARs are third party (not platform libraries), you should consider a more sophisticated compilation and packaging step. But before going down this path, check to see whether the JARs you are importing don't come in different forms -- ones that don't embed their dependencies.
Either way, have a step in your compilation to extract just the parts that you need from each JAR.
If you are not using build scripts but use an IDE for everything, set up a build script just to build your customized dependencies JAR.
I have a build with multiple interlinked dependencies, Several projects have common dependencies that are currently compiled more than once. I think in Ant we can tell it not to re-build something if its already just done it as part of the same task, can anyone please advise
ant's javac task will only compile if the source files are newer than the target files. So that should save you some time.
You can also look into ivy for a bit more formal dependency management.
Like leonm says, the compiler will do the right thing. But that won't stop Ant from rebuilding loads of artifacts. What I'd suggest is:
where you can, make targets have a defined output. So a target that builds a jar file from sources can be skipped if those sources haven't been updated since the jar file was built.
how do you implement this? use the uptodate task to set a property if something is actually up to date.
I'd suggest that any targets that do checks be prefixed with a hyphen so they can't be run on their own
And finally, use the 'unless' attribute of the target element to prevent the target running.