Comments (4)
Wouldn't it fall on you to test your mixins locally before submitting to your CI, or is this for unit testing?
from mixin.
Not only will it allow it to be used on ci's but be able to be used in projects that aren't mc related.
from mixin.
Allowing Mixin to be started without launchwrapper (with Forge on the classpath) would allow the actual application of mixins, not just their compilation, to be tested on a CI server, without the need to start a Minecraft server instance.
No it won't, at least not very effectively, because you still need to instance the upstream transformers in order for application of the mixins to work in most cases. Applying mixins to un-transformed bytecode has applications when you're not using it for a downstream project (eg. say Lex wanted to use mixins to implement parts of Forge itself, he could write mixins which worked on the un-transformed bytecode and it would make sense to apply those outside of a real runtime environment) but when you're relying on the work of upstream transformers, all you're going to do is bring yourself pain and suffering if you attempt to apply the mixin to the "raw" bytecode.
In other words, if you're thinking of using a feature like this to test application of Sponge mixins then you're going to need some pre-transformed bytecode hanging around and/or to run the upstream transformers first as part of your test cycle. Even if it does work, applying mixins in a different context doesn't really provide any value add from the point of view of testing because it could still fail when run "for real" with the upstream transformers in play.
Not only will it allow it to be used on ci's but be able to be used in projects that aren't mc related.
Launchwrapper is pretty much environment-agnostic, you can (and some of us already do) use launchwrapper on projects which aren't mc related, you can also use launchwrapper interfaces even if you're not using the launchwrapper classloader itself, for example in a custom classloader there's nothing which says you can't consume instances of IClassTransformer
.
from mixin.
Closing if there are no further comments, similar functionality to the proposed is already roadmapped and this issue doesn't really contribute anything.
from mixin.
Related Issues (20)
- Cannot find target for @Shadow field HOT 1
- `Accessor` and `Invoker` Mixins delete methods with the same name in the target class
- java.lang.NoClassDefFoundError: org/spongepowered/asm/synthetic/args/Args$1 HOT 1
- [Feature Request] Inject goto instructuion
- [Forge][Build error] Using class from custom lib in Mixin class throw Exception
- `MappingWriterTSrg` is named incorrectly
- Thread: Render thread Suspected Mod: Patchouli (patchouli), Version: 1.20.1-83-FORGE HOT 1
- Allow `@ModifyVariable` to capture locals HOT 1
- Mixins Not Being Read, Force Disabling Them. Game Crashes. HOT 1
- Trying to add another 'case' value to a 'switch' statement
- injection failed HOT 1
- INVOKE_ASSIGN gets stopped by CHECKCASTs HOT 2
- Wiki Subsection Titles
- [Forge] Stack Overflow when a invoked method is called HOT 1
- Support ModLauncher loaded as JPMS Module / Classes-Folder
- Initializer merging behavior seems to have changed in 0.8.6 snapshots HOT 1
- Constructor redirect incorrectly handles nested constructor invocations
- Redirect can not find its target. HOT 4
- Inability to get all classes targetted by mixin HOT 6
- Modpack Server Crash HOT 1
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 mixin.