create a module for dynamic classloading
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 87
- Forks
- 73
- Avg merge
- 2h 50m
- Merged PRs (30d)
- 1
Description
we have code for defining new classes att runtime in fast-avro.
we also use net.openhft:compiler in some of our unit tests to do similar things, but that has issues running under the most recent JDKs due to its use of raw reflection to define classes
we need to take our CompilerHelper class and expand it to allow replacing all these use cases.
desirable features:
1. no reflective access to avoid issues on modern JREs (via subclassing ClassLoader, see https://docs.oracle.com/javase/9/docs/api/java/lang/ClassLoader.html)
2. create a new ClassLoader (backed by a folder), have all compilation and classloading happen from tthis CL.
3. write out all generated source to be compiled as well as generated class files to disk for debuggablity
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate CompilerHelper and the existing fast-avro and unit-test uses of net.openhft:compiler. Review how those paths define and load classes, then assess the requested ClassLoader-backed compilation and disk output behavior. Done means the expanded helper can replace those use cases without reflective access and preserves generated sources and class files for debugging.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100