Comments (13)
R8 also defines the org.osgi:org.osgi.service.feature
annotations:
- https://docs.osgi.org/specification/osgi.cmpn/8.0.0/service.feature.html#org.osgi.service.feature.annotation.RequireFeatureService
- https://blog.osgi.org/2019/07/new-osgi-work-features.html
- https://projects.eclipse.org/projects/technology.osgi/releases/1.0-feature-service
from eclipse.pde.
Note: PR #234 causes a huge regression for compiling workspaces with plugins,
I'm mostly unable to work now using I20220802-1800 build because compiler needs ages now compiling a single bundle.
Compilation of entire workspace with lot of SDK bundles takes ~10 minutes instead of 1-2.
To reproduce: import jdt.core bundle in the workspace and do a clean build. It takes ages.
from eclipse.pde.
Looking on stack traces I assume it is org.eclipse.pde.internal.ui.annotations.OSGiAnnotationsCompilationParticipant
that causes trouble. Consider to either disable that until performance issues are identified or make optional via preference, or fix performance issue.
Since I'm using nightly SDK builds for my daily work ("eat my own dog food"), I can't continue to do this anymore since I20220802-1800, so if there will be no real fix soon, I plan to disable new compilation participant today (there are no tests for that one anyway).
from eclipse.pde.
@iloveeclipse I'll take a look at this, as you are more familiar with JDT, is there anything "wrong" in the usage or anything that could be performed better here? I assume it is common for code to inspect the Java-Files so I'm a bit astonished that this is causing such slow down?
from eclipse.pde.
@laeubi : sorry, I have no time to work on this.
Briefly looking on the code I assume isActive() doesn't work, as it seem to slowdown compilation of ALL projects, independently if there is any annotation setup (I assumed there is no changes in JDT so far to use new annotations).
Beside this, I'm not expert in JDT model / AST parsing, but I assume creating AST for every single file is might be the problem here.
May be @cdietrich has some hints here how one could speed that up:
from eclipse.pde.
No problem I think I found a way to fix this for now, just need to get my SDK working again as I crashed it yesterday by merging the repositories and now Eclipse don't start up anymore :-\
from eclipse.pde.
Briefly looking on the code I assume isActive() doesn't work, as it seem to slowdown compilation of ALL projects, independently if there is any annotation setup (I assumed there is no changes in JDT so far to use new annotations).
Good point, this is maybe useless and incurred a higher performance penalty than simply assume if its a PDE project this should be applied, I have copied that from the DS Annotations processor but really wonder if it is good for anything:
- Lets assume the annotation could be found, then i still need to check if the annotation is present
- If not, then it can't be used, and processing will not do anything anyways ...
from eclipse.pde.
@laeubi : please also consider to add a preference to turn this feature off, at least as long as it is in experimental state.
BTW, it would be nice if there would be explanation what actually the future is (from the user point of view), because #234 doesn't say anything concrete.
from eclipse.pde.
I'll try to explain this a bit more detail in the N&N entry, but first this must be usable by the user :-D
from eclipse.pde.
The metatype annotations should be supported as well, this requires
as a perquisite.
from eclipse.pde.
is it already possible to disable this feature?
this still seems to impact the build time
-> in releases and not only i-builds
from eclipse.pde.
is it already possible to disable this feature? this still seems to impact the build time
It is not possible to disable at the moment.
from eclipse.pde.
what do you think about a temporary solution to disable this feature e.g. via system-property?
so we could test this on our machines
from eclipse.pde.
Related Issues (20)
- Two ClasspathResolutionTest failures since I20240317-1800 HOT 4
- launch config (plugin) section doesn't correctly add all required and if those are added doesn't validate correctly
- Multiple versions of Jetty bundles cause Missing Constraint problems
- Blank workbench on macOS aarch64 HOT 1
- Attempted to beginRule: MultiRule[], does not match outer scope rule: R/ HOT 1
- class org.eclipse.jdt.internal.core.JavaNature cannot be cast to class org.eclipse.jdt.core.IJavaProject HOT 7
- [scr 1.4] constructor for injection must be public
- commons-jxpath CVE-2022-41852 vulnerabiltiy
- Target definition file contribution is missing for compare editor HOT 1
- Validation errors starting Eclipse launch with Java 23 HOT 1
- PDE errors on all bundles that use system packages since I20240412-1800 HOT 18
- API tooling warnings mismatch IDE vs github HOT 1
- Error validating SDK launch due missing JRE 1.1 support HOT 8
- Expensive operations running on initialization of tabs HOT 2
- Failure of tests in org.eclipse.pde.core.tests.internal.classpath.ClasspathResolutionTest for I-BUILD I20240414-1800 HOT 1
- Invalid generation of SCR component xml after update to 2403 HOT 20
- Access restrictions of package-private elements in dependencies is not respected HOT 10
- TargetDefinition leak
- Unable to run plug-in tests after opening Plugins tab HOT 10
- Modifying the software site "Included Software" settings in the Target Editor doesn't do anything
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 eclipse.pde.