A maven build plugin for iOS continuous integration builds
Java
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
.travis.yml
LICENSE.txt
README.md
pom.xml

README.md

Xcode-Maven-Plugin

Overview

A maven plugin for building iOS Apps, run unit-tests and integration-tests.

Build Status

Documentation

Documentation

Wiki

Requirements on your xcode project

Requirements on your build agent

  • Xcode command line tools
  • Homebrew: ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
  • lcov: brew install lcov
  • ios-sim: brew install ios-sim

Example Project

iOS-Continuous-Integration-Demo

Example POM

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>de.felixschulze.my-project</groupId>
    <artifactId>my-project</artifactId>
    <packaging>xcode</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>My Project</name>
    <build>
        <plugins>
            <plugin>
                <groupId>de.felixschulze.maven.plugins.xcode</groupId>
                <artifactId>xcode-maven-plugin</artifactId>
                <version>1.2</version>
                <configuration>
                    <xcodeProject>my-project.xcodeproj</xcodeProject>
                    <xcodeTarget>my-project</xcodeTarget>
                    <xcodeConfiguration>Release</xcodeConfiguration>
                    <xcodeSdk>iphoneos</xcodeSdk>
                </configuration>
                <extensions>true</extensions>
            </plugin>
        </plugins>
    </build>
</project>

Advanced POM

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>de.felixschulze.my-project</groupId>
    <artifactId>my-project</artifactId>
    <packaging>xcode</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>My Project</name>
    <build>
        <plugins>
            <plugin>
                <groupId>de.felixschulze.maven.plugins.xcode</groupId>
                <artifactId>xcode-maven-plugin</artifactId>
                <version>1.2</version>
                <configuration>
                    <xcodeProject>my-project.xcodeproj</xcodeProject>
                    <xcodeTarget>my-project</xcodeTarget>
                    <xcodeConfiguration>Release</xcodeConfiguration>
                    <xcodeSdk>iphoneos</xcodeSdk>
                    <appName>my-project</appName>
                    <executeGHUnitTests>true</executeGHUnitTests>
                    <generateCoverageReport>true</generateCoverageReport>
                    <coverageTarget>CI-Demo</coverageTarget>
                    <bundleVersionFromGit>true</bundleVersionFromGit>
                    <teamCityLog>true</teamCityLog>
                    <infoPlist>my-project/my-project-Info.plist</infoPlist>
                    <provisioningProfile>ABCDEFGH-ABCD-1234-ABCD-12345678901</provisioningProfile>
                    <codeSignIdentity>iPhone Distribution: Developer Name</codeSignIdentity>
                    <executeKIFIntegrationTests>true</executeKIFIntegrationTests>
                    <kifMakeScreenshots>true</kifMakeScreenshots>
                </configuration>
                <extensions>true</extensions>
            </plugin>
        </plugins>
    </build>
</project>

License

Apache License, Version 2.0 - See LICENSE