Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Repository for swift-bases cocoa-frameworks #819

dkimitsa started this conversation in General
Discussion options

@Tom-Ski
Apple releases new functionality as swift-only. And these frameworks can't be used directly with robovm and requires a swift2objc wrapper (check https://github.com/dkimitsa/robovm-cocoatouch-swift).

it is bad idea to keep these in compiler/cocoatouch due:

  • cocoatouch library already contains 10K classes and making it bigger is not good as affects compilation speed etc;
  • cocoatouch library releases with each robovm release (even if there is no changes)
  • swift2objc contains wrapper as binaries, that sometimes 1M+

it is better to use these frameworks only wher required as separate maven artefact.

Proposal is to create robovm-swift-cocoa repository which will contain:

  • individual framework bindings in separate folders as standalone maven/gradle project;
  • individual bingings will be released individually;
  • individual bindings might have different version number;
  • we will use com.mobidevelop.robovm:robopod-swift-${frameworknane}
  • we will use version number in way: ${ios_version}.${iteration_number}, e.g. 17.0.0.2 for ios 17.0, where 2 is iteration version;
  • we will keep released version in main branch;
  • development for each frameworks will happens in stand-alone branches, where affected framework's version will be updataed with -SNAPSHOT suffix.
  • framework with be released from corresponding DEV branch, versions will be set to release one.
  • once released, release tag will be created in github, branch is merged into main and will be deleted.
  • root readme files should list and track recently released version of all frameworsk. Individual folders might use own version history/readme file;
  • as these bindings include binaries, all snapshots/releases should happen using GitHub action/builder to not have any compromised malware included into binaries;
  • build release might be triggered by manual github action, there is no dependency on maven:release as it applies limitations.

I propose to start with creating repo and then I will create PR to add https://github.com/dkimitsa/robovm-cocoatouch-swift there as for start.

You must be logged in to vote

Replies: 0 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant

AltStyle によって変換されたページ (->オリジナル) /