Updates the Xcode project with j2objc generated files and resources.
This uses the CocoaPods dependency system. For more details see https://cocoapods.org/. It creates a podspec file and inserts it into your project's pod file. If you haven't create a pod file yet you have to run `pod init` in your project folder before you run this task.| Modifiers | Name | Description |
|---|---|---|
static class |
XcodeTask.PodspecDetails |
|
static class |
XcodeTask.XcodeTargetDetails |
| Modifiers | Name | Description |
|---|---|---|
static java.lang.String |
neverMatchesRegex |
|
static java.lang.String |
podMethodStartRegexOLD |
|
static java.lang.String |
podMethodsEnd |
|
static java.lang.String |
podMethodsStart |
|
static java.lang.String |
targetEndRegex |
|
static java.lang.String |
targetNamedRegex |
|
static java.lang.String |
targetStartRegex |
| Fields inherited from class | Fields |
|---|---|
class org.gradle.api.DefaultTask |
TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION |
class org.gradle.api.internal.AbstractTask |
TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION |
| Type Params | Return Type | Name and description |
|---|---|---|
|
static java.util.List<java.lang.String> |
addNewPodMethod(java.util.List<java.lang.String> podfileLines, java.util.List<java.lang.String> insertLines)Adds new pod method when podfile has never had pod method before |
|
static java.util.List<java.lang.String> |
extractXcodeTargets(java.util.List<java.lang.String> podfileLines)Extracts xcode targets in Podfile. |
|
java.lang.String |
getMinVersionIos() |
|
java.lang.String |
getMinVersionOsx() |
|
java.lang.String |
getMinVersionWatchos() |
|
java.io.File |
getPodfileFile() |
|
java.util.List<PodspecDetails> |
getPodspecDependencies() |
|
java.util.List<PodspecDetails> |
getPodspecDependencies(org.gradle.api.Project proj, java.util.Set<org.gradle.api.Project> visitedProjects)Retrieve a list of debug and release podspecs to update Xcode |
|
java.util.List<java.lang.String> |
getXcodeDebugConfigurations2() |
|
java.lang.String |
getXcodeProjectDir() |
|
java.util.List<java.lang.String> |
getXcodeReleaseConfigurations2() |
|
java.util.List<java.lang.String> |
getXcodeTargetsIos() |
|
boolean |
getXcodeTargetsManualConfig() |
|
java.util.List<java.lang.String> |
getXcodeTargetsOsx() |
|
java.util.List<java.lang.String> |
getXcodeTargetsWatchos() |
|
boolean |
isTaskActive() |
|
static java.util.List<java.lang.String> |
podMethodLines(XcodeTask.PodspecDetails podspecDetails, java.io.File podfile) |
|
static java.util.List<java.lang.String> |
regexInsertLines(java.util.List<java.lang.String> podfileLines, boolean insertAfterStart, java.lang.String startRegex, java.lang.String endRegex, java.util.List<java.lang.String> insertLines)Insert new lines in to podfile between startRegex to targetEndRegex. |
|
static java.util.List<java.lang.String> |
regexInsertLinesBefore(java.util.List<java.lang.String> podfileLines, java.lang.String insertBeforeRegex, java.util.List<java.lang.String> insertLines)Insert new lines in to podfile before line |
|
static boolean |
regexMatchesLine(java.util.List<java.lang.String> podfileLines, java.lang.String regex)Checks if Podfile line matches regex |
|
static java.util.List<java.lang.String> |
regexModifyLines(java.util.List<java.lang.String> podfileLines, boolean insertAfterStart, boolean matchExactlyOnce, boolean preserveEndLine, java.lang.String startRegex, java.lang.String endRegex, java.lang.String stripRegex, java.util.List<java.lang.String> insertLines)Modify Podfile lines between startRegex to targetEndRegex. |
|
static java.util.List<java.lang.String> |
regexReplaceLines(java.util.List<java.lang.String> podfileLines, boolean preserveEndLine, java.lang.String startRegex, java.lang.String endRegex, java.util.List<java.lang.String> newPodFileLines)Replaces lines between two regexps, including start and end lines |
|
static java.util.List<java.lang.String> |
regexStripLines(java.util.List<java.lang.String> podfileLines, java.lang.String startRegex, java.lang.String endRegex, java.lang.String stripRegex)Strips certain lines from podfile. |
|
static java.util.List<java.lang.String> |
updatePodMethods(java.util.List<java.lang.String> podfileLines, java.util.List<PodspecDetails> podspecDetailsList, java.io.File podfile) |
|
static java.util.List<java.lang.String> |
updatePodfile(java.util.List<java.lang.String> podfileLines, java.util.List<PodspecDetails> podspecDetailsList, XcodeTask.XcodeTargetDetails xcodeTargetDetails, boolean xcodeTargetsManualConfig, java.io.File podfile) |
|
static java.util.List<java.lang.String> |
updatePodfileTargets(java.util.List<java.lang.String> podfileLines, java.util.List<PodspecDetails> podspecDetailsList, XcodeTask.XcodeTargetDetails xcodeTargetDetails)Add a podspec to a podfile. |
|
static void |
writeUpdatedPodfileIfNeeded(java.util.List<PodspecDetails> podspecDetailsList, XcodeTask.XcodeTargetDetails xcodeTargetDetails, boolean xcodeTargetsManualConfig, java.io.File podfile)Modify in place the existing podfile. |
|
void |
xcodeConfig() |
| Methods inherited from class | Name |
|---|---|
class org.gradle.api.DefaultTask |
org.gradle.api.DefaultTask#setProperty(java.lang.String, java.lang.Object), org.gradle.api.DefaultTask#toString(), org.gradle.api.DefaultTask#compareTo(java.lang.Object), org.gradle.api.DefaultTask#compareTo(org.gradle.api.Task), org.gradle.api.DefaultTask#getName(), org.gradle.api.DefaultTask#execute(), org.gradle.api.DefaultTask#getActions(), org.gradle.api.DefaultTask#getState(), org.gradle.api.DefaultTask#getState(), org.gradle.api.DefaultTask#getPath(), org.gradle.api.DefaultTask#getExtensions(), org.gradle.api.DefaultTask#setEnabled(boolean), org.gradle.api.DefaultTask#hasProperty(java.lang.String), org.gradle.api.DefaultTask#getDescription(), org.gradle.api.DefaultTask#setDescription(java.lang.String), org.gradle.api.DefaultTask#getInputs(), org.gradle.api.DefaultTask#getInputs(), org.gradle.api.DefaultTask#getAsDynamicObject(), org.gradle.api.DefaultTask#injectIntoNewInstance(org.gradle.api.internal.project.ProjectInternal, java.lang.String, java.lang.Class, java.util.concurrent.Callable), org.gradle.api.DefaultTask#getActionClassLoaders(), org.gradle.api.DefaultTask#getImpliesSubProjects(), org.gradle.api.DefaultTask#setImpliesSubProjects(boolean), org.gradle.api.DefaultTask#getExecuter(), org.gradle.api.DefaultTask#setExecuter(org.gradle.api.internal.tasks.TaskExecuter), org.gradle.api.DefaultTask#getTemporaryDirFactory(), org.gradle.api.DefaultTask#addValidator(org.gradle.api.internal.tasks.execution.TaskValidator), org.gradle.api.DefaultTask#getValidators(), org.gradle.api.DefaultTask#prependParallelSafeAction(org.gradle.api.Action), org.gradle.api.DefaultTask#appendParallelSafeAction(org.gradle.api.Action), org.gradle.api.DefaultTask#isHasCustomActions(), org.gradle.api.DefaultTask#doFirst(groovy.lang.Closure), org.gradle.api.DefaultTask#doFirst(org.gradle.api.Action), org.gradle.api.DefaultTask#doLast(org.gradle.api.Action), org.gradle.api.DefaultTask#doLast(groovy.lang.Closure), org.gradle.api.DefaultTask#onlyIf(org.gradle.api.specs.Spec), org.gradle.api.DefaultTask#onlyIf(groovy.lang.Closure), org.gradle.api.DefaultTask#setActions(java.util.List), org.gradle.api.DefaultTask#getTaskDependencies(), org.gradle.api.DefaultTask#getTaskDependencies(), org.gradle.api.DefaultTask#getDependsOn(), org.gradle.api.DefaultTask#setDependsOn(java.lang.Iterable), org.gradle.api.DefaultTask#setOnlyIf(org.gradle.api.specs.Spec), org.gradle.api.DefaultTask#setOnlyIf(groovy.lang.Closure), org.gradle.api.DefaultTask#deleteAllActions(), org.gradle.api.DefaultTask#getEnabled(), org.gradle.api.DefaultTask#dependsOnTaskDidWork(), org.gradle.api.DefaultTask#getTemporaryDir(), org.gradle.api.DefaultTask#mustRunAfter([Ljava.lang.Object;), org.gradle.api.DefaultTask#setMustRunAfter(java.lang.Iterable), org.gradle.api.DefaultTask#getMustRunAfter(), org.gradle.api.DefaultTask#finalizedBy([Ljava.lang.Object;), org.gradle.api.DefaultTask#setFinalizedBy(java.lang.Iterable), org.gradle.api.DefaultTask#getFinalizedBy(), org.gradle.api.DefaultTask#shouldRunAfter([Ljava.lang.Object;), org.gradle.api.DefaultTask#setShouldRunAfter(java.lang.Iterable), org.gradle.api.DefaultTask#getShouldRunAfter(), org.gradle.api.DefaultTask#property(java.lang.String), org.gradle.api.DefaultTask#dependsOn([Ljava.lang.Object;), org.gradle.api.DefaultTask#getOutputs(), org.gradle.api.DefaultTask#getOutputs(), org.gradle.api.DefaultTask#getTaskActions(), org.gradle.api.DefaultTask#getDidWork(), org.gradle.api.DefaultTask#setDidWork(boolean), org.gradle.api.DefaultTask#getOnlyIf(), org.gradle.api.DefaultTask#isEnabled(), org.gradle.api.DefaultTask#configure(groovy.lang.Closure), org.gradle.api.DefaultTask#configure(groovy.lang.Closure), org.gradle.api.DefaultTask#getGroup(), org.gradle.api.DefaultTask#getProject(), org.gradle.api.DefaultTask#setGroup(java.lang.String), org.gradle.api.DefaultTask#getStandardOutputCapture(), org.gradle.api.DefaultTask#getIdentityPath(), org.gradle.api.DefaultTask#getAnt(), org.gradle.api.DefaultTask#getConvention(), org.gradle.api.DefaultTask#getLogging(), org.gradle.api.DefaultTask#getLogging(), org.gradle.api.DefaultTask#getLogger(), org.gradle.api.DefaultTask#leftShift(groovy.lang.Closure), org.gradle.api.DefaultTask#wait(long, int), org.gradle.api.DefaultTask#wait(long), org.gradle.api.DefaultTask#wait(), org.gradle.api.DefaultTask#equals(java.lang.Object), org.gradle.api.DefaultTask#hashCode(), org.gradle.api.DefaultTask#getClass(), org.gradle.api.DefaultTask#notify(), org.gradle.api.DefaultTask#notifyAll() |
class org.gradle.api.internal.AbstractTask |
org.gradle.api.internal.AbstractTask#setProperty(java.lang.String, java.lang.Object), org.gradle.api.internal.AbstractTask#toString(), org.gradle.api.internal.AbstractTask#compareTo(java.lang.Object), org.gradle.api.internal.AbstractTask#compareTo(org.gradle.api.Task), org.gradle.api.internal.AbstractTask#getName(), org.gradle.api.internal.AbstractTask#execute(), org.gradle.api.internal.AbstractTask#getActions(), org.gradle.api.internal.AbstractTask#getState(), org.gradle.api.internal.AbstractTask#getState(), org.gradle.api.internal.AbstractTask#getPath(), org.gradle.api.internal.AbstractTask#getExtensions(), org.gradle.api.internal.AbstractTask#setEnabled(boolean), org.gradle.api.internal.AbstractTask#hasProperty(java.lang.String), org.gradle.api.internal.AbstractTask#getDescription(), org.gradle.api.internal.AbstractTask#setDescription(java.lang.String), org.gradle.api.internal.AbstractTask#getInputs(), org.gradle.api.internal.AbstractTask#getInputs(), org.gradle.api.internal.AbstractTask#getAsDynamicObject(), org.gradle.api.internal.AbstractTask#injectIntoNewInstance(org.gradle.api.internal.project.ProjectInternal, java.lang.String, java.lang.Class, java.util.concurrent.Callable), org.gradle.api.internal.AbstractTask#getActionClassLoaders(), org.gradle.api.internal.AbstractTask#getImpliesSubProjects(), org.gradle.api.internal.AbstractTask#setImpliesSubProjects(boolean), org.gradle.api.internal.AbstractTask#getExecuter(), org.gradle.api.internal.AbstractTask#setExecuter(org.gradle.api.internal.tasks.TaskExecuter), org.gradle.api.internal.AbstractTask#getTemporaryDirFactory(), org.gradle.api.internal.AbstractTask#addValidator(org.gradle.api.internal.tasks.execution.TaskValidator), org.gradle.api.internal.AbstractTask#getValidators(), org.gradle.api.internal.AbstractTask#prependParallelSafeAction(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#appendParallelSafeAction(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#isHasCustomActions(), org.gradle.api.internal.AbstractTask#doFirst(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#doFirst(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#doLast(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#doLast(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#onlyIf(org.gradle.api.specs.Spec), org.gradle.api.internal.AbstractTask#onlyIf(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#setActions(java.util.List), org.gradle.api.internal.AbstractTask#getTaskDependencies(), org.gradle.api.internal.AbstractTask#getTaskDependencies(), org.gradle.api.internal.AbstractTask#getDependsOn(), org.gradle.api.internal.AbstractTask#setDependsOn(java.lang.Iterable), org.gradle.api.internal.AbstractTask#setOnlyIf(org.gradle.api.specs.Spec), org.gradle.api.internal.AbstractTask#setOnlyIf(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#deleteAllActions(), org.gradle.api.internal.AbstractTask#getEnabled(), org.gradle.api.internal.AbstractTask#dependsOnTaskDidWork(), org.gradle.api.internal.AbstractTask#getTemporaryDir(), org.gradle.api.internal.AbstractTask#mustRunAfter([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#setMustRunAfter(java.lang.Iterable), org.gradle.api.internal.AbstractTask#getMustRunAfter(), org.gradle.api.internal.AbstractTask#finalizedBy([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#setFinalizedBy(java.lang.Iterable), org.gradle.api.internal.AbstractTask#getFinalizedBy(), org.gradle.api.internal.AbstractTask#shouldRunAfter([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#setShouldRunAfter(java.lang.Iterable), org.gradle.api.internal.AbstractTask#getShouldRunAfter(), org.gradle.api.internal.AbstractTask#property(java.lang.String), org.gradle.api.internal.AbstractTask#dependsOn([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#getOutputs(), org.gradle.api.internal.AbstractTask#getOutputs(), org.gradle.api.internal.AbstractTask#getTaskActions(), org.gradle.api.internal.AbstractTask#getDidWork(), org.gradle.api.internal.AbstractTask#setDidWork(boolean), org.gradle.api.internal.AbstractTask#getOnlyIf(), org.gradle.api.internal.AbstractTask#isEnabled(), org.gradle.api.internal.AbstractTask#configure(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#configure(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#getGroup(), org.gradle.api.internal.AbstractTask#getProject(), org.gradle.api.internal.AbstractTask#setGroup(java.lang.String), org.gradle.api.internal.AbstractTask#getStandardOutputCapture(), org.gradle.api.internal.AbstractTask#getIdentityPath(), org.gradle.api.internal.AbstractTask#getAnt(), org.gradle.api.internal.AbstractTask#getConvention(), org.gradle.api.internal.AbstractTask#getLogging(), org.gradle.api.internal.AbstractTask#getLogging(), org.gradle.api.internal.AbstractTask#getLogger(), org.gradle.api.internal.AbstractTask#leftShift(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#wait(long, int), org.gradle.api.internal.AbstractTask#wait(long), org.gradle.api.internal.AbstractTask#wait(), org.gradle.api.internal.AbstractTask#equals(java.lang.Object), org.gradle.api.internal.AbstractTask#hashCode(), org.gradle.api.internal.AbstractTask#getClass(), org.gradle.api.internal.AbstractTask#notify(), org.gradle.api.internal.AbstractTask#notifyAll() |
Adds new pod method when podfile has never had pod method before Most likely added before "target 'IOS-APP' do". If no 'correct' place is found, it will be appended at the end of the podfile.
Extracts xcode targets in Podfile.
Retrieve a list of debug and release podspecs to update Xcode
proj - Root project from which to search transitive dependenciesvisitedProjects - Set of visited projects to avoid repeat visitsInsert new lines in to podfile between startRegex to targetEndRegex. Throws error if no match for startRegex or targetEndRegex.
Insert new lines in to podfile before line Throws error if no match for regex.
Checks if Podfile line matches regex
Modify Podfile lines between startRegex to targetEndRegex.
podfileLines - to be modifiedinsertAfterStart - true to add after startRegex, false to add before targetEndRegexmatchExactlyOnce - throw error if no startRegex / targetEndRegex match foundpreserveEndLine - so retain even if when it matches stripRegexstartRegex - to match line againstendRegex - to match line againstinsertLines - to be added, can be nullReplaces lines between two regexps, including start and end lines
Strips certain lines from podfile. Stripping is applied from startRegex, stopping immediately before targetEndRegex, the line is removed if and only if it matches stripRegex. Throws if startRegex is found but not targetEndRegex.
Add a podspec to a podfile. Update in place if it already exists.
addPodline - if false then remove existing line if anyModify in place the existing podfile.