Commit graph

27 commits

Author SHA1 Message Date
Jozufozu
da478cd114 Plugin play
- Convert package infos stuff to a proper plugin
- Add extension for specifying which source sets get generated package
  infos
- Move extension classes into their own files
- Move GeneratePackageInfosTask into com.jozufozu.gradle
2024-05-04 16:56:47 -07:00
Jozufozu
b5cbd28f74 Publicity stunt
- Only publish api/lib and full jars for platforms
- Do not eagerly create outgoing configurations for JarTaskSet
- Add method to create outgoing configuration
- Clean up JarTaskSet creation and move some string constants to statics
- Set @CompileStatic
- Remove ${name} classifier prefix from JarTaskSet jars
- Put JarTaskSet jars into subdirectories in the output folders
- Add configure and configureEach methods to JarTaskSet
- Rename OutgoingConfigurationPlugin -> JarSetPlugin and move extension
  to root module so idea offers completions in gradle files
- Standardize artifact naming flywheel-$platform(-api)?-$mcversion
2024-05-04 16:56:47 -07:00
Kneelawk
edce752499 Fix refmaps, again 2024-05-04 16:56:46 -07:00
Kneelawk
dd77686107 Add common publishing 2024-05-04 16:56:46 -07:00
PepperCode1
77fa0923f5 Best-effort untested Fabric model builders
- Also fix crash buffering fluids in BakedModelBufferer#bufferMultiBlock (Forge)
- The mesh order in models created by model builders is currently incorrect and will be fixed later
2024-05-04 16:56:46 -07:00
Jozufozu
2e7c33b355 Pretty groovy man
- Upgrade platform script plugin to pre-compiled groovy plugin
- It was getting really difficult to manage all the logic/plugins/types
  from the basic script, and implementing a real plugin gives us much
  better type safety and IDE access to upstream plugins
- Separate api/lib/backend/impl in platform projects
- Add platform module output to main runtime classpath so the fabric
  loader recognizes our additional modules
2024-05-04 16:56:46 -07:00
Jozufozu
52eef2e538 Unconventional
- Use convention plugins for common build logic
- Convention plugins get to be applied in the plugins block and can load
  other plugins
- Move GeneratePackageInfosTask to its own file in buildSrc
- Apply GeneratePackageInfosTask to every sourceSet
2024-05-04 16:56:46 -07:00
Jozufozu
82c7adedb7 Centrifuge
- Separate common project into 4 source sets
- Declare outgoing configurations for forge/fabric to depend on
- Re-compile source from each source set in each platform's compileJava
2024-05-04 16:56:45 -07:00
Kneelawk
3c7ecddcc8 Fix artifactIds 2024-05-04 16:56:44 -07:00
PepperCode1
6d36f66060 Remove old DependencyInjection#load method 2024-05-04 16:56:44 -07:00
PepperCode1
543f759fee Most of Fabric
- Organize almost all remaining code into one of four modules
- Fix some incorrect inter-module dependencies
- Get Fabric into a working state
  - The config, client commands, and model builders are still missing and registry freezing happens too late
2024-05-04 16:56:44 -07:00
Jozufozu
77c2181318 Graidiomatic
- Move common build script stuff to buildSrc
- Set ideaSyncTask finalizedBy generatePackageInfos directly in
  package-infos.gradle
- Enable loom multiproject optimization, though not sure if it makes a
  difference for us yet
2024-05-04 16:56:43 -07:00
PepperCode1
9d227c5887 Minor clean up and fixes 2024-05-04 16:56:43 -07:00
Jozufozu
b5066e36cf One line optimization
- Actually init vanilla visuals
2024-05-04 16:56:43 -07:00
Jozufozu
f471edc5f4 Gradle grumbles
- Apply java, maven-publish to all projects
- Prefer the tasks.named() syntax for configuring tasks
- Separate shared configuration for platform projects into a separate
  configure block
- Add more fields to processResources
- Make helper methods static
- Exclude duplicated package infos
2024-05-04 16:56:43 -07:00
Jozufozu
5b2339875e Compiling models
- Make model builders abstract
- Move BakedModelBufferer as is into forge project
- Create Forge*ModelBuilders with modeldata parameters
- Wrap ModelBuilder ctors in factory methods
- Add FlywheelLibPlatform api, similar to api.internal package but for
  lib-only/platform specific stuff
- Move TransformStack wrapping into FlywheelLibPlatform
- Create vanilla renderer through FlywheelLibPlatform
- Handle partial model initialization in separate event handler class
- Fix test configuration in common project
2024-05-04 16:56:43 -07:00
Jozufozu
87b9a922c3 Everything but models
- Trying to get xplat forge working, fabric can wait until the common
  project compiles
- Move backend manager event handling to separate class
- Move commands into forge for now
- Make FlwConfig an interface and move concrete impl into forge
- Remove event parameters from handlers than don't actually use them
- Add platform specific blockstate light emission for uniforms
- Remove example effect
- Add accessor for LevelRenderer#ticks
2024-05-04 16:56:42 -07:00
Jozufozu
d9c178cd6c Platform dependent wheeling
- Use ClientPlatform to:
  - Dispatch events
  - Create iris/oculus handler
- Move VisualizationEventHandler into forge project
2024-05-04 16:56:42 -07:00
Jozufozu
5e7e867bcd Deduplication and stubs
- Move common gradle business from each subproject into the
  rootProject.subprojects closure
- Add fabric.mod.json
- Register forge mixin configs
- Make blaze3d mixins remap = false
- Separate common, forge, and fabric mod entrypoints
2024-05-04 16:56:42 -07:00
Kneelawk
c027023709 Move events to platforms 2024-05-04 16:56:42 -07:00
Kneelawk
2163ad95c6 Move MinecraftMixin to platforms 2024-05-04 16:56:42 -07:00
Kneelawk
54f2ffd6ea Move Sodium mixin to platform code 2024-05-04 16:56:42 -07:00
Kneelawk
85fc7c8246 Begin on platform abstraction interface 2024-05-04 16:56:42 -07:00
Kneelawk
0d8a63f189 Add jsr305 compile dependency 2024-05-04 16:56:41 -07:00
Kneelawk
a6157c59b3 Re-add sodium/embeddium, iris/oculus, starlight dependencies 2024-05-04 16:56:41 -07:00
Kneelawk
99044bcf7b Re-add package-info generation 2024-05-04 16:56:41 -07:00
Kneelawk
0d43681d54 Begin architectury setup 2024-05-04 16:56:40 -07:00