Skip to content

Releases: j2objc-contrib/j2objc-gradle

v0.6.0-alpha : Podfile manual config

16 Jan 00:17
Compare
Choose a tag to compare
Pre-release

New functionality:

  • Support for arbitrary count of files that otherwise exceeds command line max args #574
  • Podfile manual configure of targets using xcodeTargetsManualConfig #561 #562
  • Podspec output to build/j2objcOutputs #558
  • Default minVersionIos => 8.3, minVersionWatchos => 2.0 #584

Fixes:

  • Allow spaces in Xcode target names #564
  • Gradle 2.8 compatibility #567
  • Gradle 2.9 unsupported message #581
  • Gradle unsupport version causes deadlock #585
  • Several broken links from plugin #563

Code quality:

  • Guava 19.0 system test (updated from Guava 18.0) #434

v0.5.0-alpha : Xcode 7 & Dagger 2

26 Oct 04:10
Compare
Choose a tag to compare
Pre-release

New functionality:

  • Support for Xcode 7 and j2objc 0.9.8.2.1 #483
  • Validate version of j2objc and provide install instructions #515
  • Wilcard package prefix matching #481
  • Dependencies
    • J2objcConfig.minVersion{Ios,Osx,Watchos} controls minimum versions of associated target #483 #512
    • Test-only dependencies on other libraries and projects #489
    • Translate and run standalone test source Jar files (such as unit tests associated with third-party libraries) #489
    • Source files generated during compilation (ex. by Dagger2) included in translation #527
  • CocoaPods
    • iOS and OS X applications can be setup using CocoaPods #506
    • Automatically configure CocoaPods and Xcode projects, when present, as part of build #524
    • CocoaPods supports multi-project applications #504
    • J2objcConfig.xcodeTargets{Ios,Osx,Watchos} Xcode targets to link to generated libraries #522

Breaking changes/functionality:

  • No longer supports Xcode 6 and lower or J2ObjC 0.9.8.2 and lower #483
  • xcodeTarget => xcodeTargetsIos, xcodeTargetsOsx and xcodeTargetsWatchos (in progress) #522
  • Minimum versions of platforms have been configured as iOS 6.0, OS X 10.6, and WatchOS 1.0 #512
  • NOTE: watchOS is not yet supported due to lack of full bitcode support by J2ObjC 0.9.8.2.1.
  • Default auto-generated source dir build/source/apt replaced by build/classes/main #527
  • Extracted Jar source dir build/translationExtraction replaced by build/mainTranslationExtraction #489
  • j2objcXcode now a dependency of j2objcAssemble{Debug|Release} and not a separate task #532

Code quality:

  • Multi-project integration tests disabled temporarily (system tests are used instead) #483
  • System tests include Xcode and Android Studio project examples #508 #523
  • Podspecs distinguish project libraries versus J2ObjC libraries #512

v0.4.3-alpha : Automatic dependency resolution

03 Oct 09:52
Compare
Choose a tag to compare

New functionality:

  • Automatic dependency resolution for Maven jars and Gradle projects #420
  • Build external Java libraries (with source) into standalone native libraries #431
  • Proper limitation of functionality on non-Mac platforms #396
  • Embedded docs and versioning info for easier debugging #395
  • Specify a subset of J2ObjC libraries to link to #433
  • Map individual Java files to a separate version used only for J2ObjC translation #455
  • Projects no longer need to guarantee the Java plugin is applied before the J2ObjC Gradle plugin #453

Breaking changes/functionality:

  • Default supported architectures reduced to modern devices only (arm64, armv7, x86_64) #448
  • Production (main sourceSet) and test code are now translated and built separately #474
  • J2objcConfig.filenameCollisionCheck is now named forceFilenameCollisionCheck,
    and defaults true only when using --no-package-directories #470

Code quality:

  • A small number of common open-source Java libraries are being built end-to-end with the J2ObjC Gradle plugin
  • Continuous integration on Mac #406 and on Windows #401
  • Added end to end tests on OSX (running j2objc) #409 #411 etc.
  • Unit tests pass on Windows #404
  • Prevent publishing of bad releases #395 #398
  • Docs updates (various)

v0.4.2-alpha : Translation only mode for Windows builds

23 Aug 04:05
Compare
Choose a tag to compare

Functionality:

  • Translation-only mode (skips building Objective-C libraries) #349
  • Support for Windows/Linux (in translation-only mode) #349
  • Cycle finding moved from assembly phase to test phase #338
  • Automatic linking with related Xcode projects, like tests and WatchKit apps #353
  • Per-environment configuration of iOS architectures to build #358
  • Environment-specific config can be provided via environment variables in addition to local.properties #361

Code quality:

  • Travis Continuous Integration #365
  • Additional test coverage (various)
  • Documentation fixes (various)
  • Updating package prefixes will now correctly cause retranslation/recompile

Use it (see README for details):

plugins {
    id 'java'
    id 'com.github.j2objccontrib.j2objcgradle' version '0.4.2-alpha'
}

v0.4.1-alpha : IGNORE

20 Aug 20:40
Compare
Choose a tag to compare
v0.4.1-alpha : IGNORE Pre-release
Pre-release

This should be ignored. The plugin was mistakenly published as a copy of v0.4.0 without the subsequent changes. Please use v0.4.2 instead.

v0.4.0-alpha : Resources loading + Xcode release target

27 Jul 21:40
Compare
Choose a tag to compare

Functionality:

  • Resources copied for unit tests and Xcode build
  • Xcode debug and release targets now load distinct generated libraries
  • j2objcConfig syntax standardized for translateClasspaths and translateSourcepaths
  • Helpful error message upon failure with full command line, stdout and sterr

Code Quality:

  • @CompileStatic for plugin build type checking
  • Expanded unit test coverage now comprises 81 tests
  • Numerous bug fixes

v0.3.0-alpha : Multiple projects and Native Compile

01 Jul 22:02
Compare
Choose a tag to compare
  • Args groovy style syntax for config closure
  • Multiple projects with dependencies
  • Incremental compile using Gradle's native clang compiler
  • Fix Plugins {...} syntax
  • Added unit test framework

v0.2.2-alpha : Initial Plugin Working Version

11 Jun 19:48
Compare
Choose a tag to compare
  • Requires buildscript syntax as a workaround to the plugins {} syntax not working
  • Lots of fixes and improvements through the system

Upgrading in-place from v0.1.0-alpha is not supported: please read README.md and J2objcPluginExtension.groovy for instructions on using and configuring the new version.

v0.1.0-alpha : Initial Working Version

02 Jun 21:33
Compare
Choose a tag to compare
Pre-release

There will be significant reworking of this before a beta and 1.0 release