Skip to content

Commit

Permalink
Multiplatform: Add iOS target.
Browse files Browse the repository at this point in the history
  • Loading branch information
vanniktech committed May 26, 2022
1 parent 658786a commit 421f9f7
Show file tree
Hide file tree
Showing 25 changed files with 528 additions and 72 deletions.
26 changes: 21 additions & 5 deletions emoji-facebook/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,27 @@ plugins {

metalava {
filename = "api/current.txt"
sourcePaths = ["src/commonMain", "src/androidMain", "src/jvmMain"]
sourcePaths = ["src/commonMain", "src/androidMain", "src/jvmMain", "src/iosMain"]
}

// CocoaPods requires a version.
version = VERSION_NAME

kotlin {
android("android")
// ios("ios")
ios("ios")
jvm("jvm")

cocoapods {
version = VERSION_NAME
summary = "emoji-facebook"
homepage = "https://github.com/vanniktech/Emoji"
name = "EmojiFacebook"

// framework {
// isStatic = true
// embedBitcode(BITCODE)
// export(project(":emoji"))
// }
}

sourceSets {
commonMain {
dependencies {
Expand All @@ -43,6 +53,12 @@ kotlin {
implementation libs.robolectric
}

iosMain.dependencies {
}

iosTest.dependencies {
}

jvmMain.dependencies {
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright (C) 2016 - Niklas Baudy, Ruben Gees, Mario Đanić and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.vanniktech.emoji.facebook

import com.vanniktech.emoji.EmojiCategory
import com.vanniktech.emoji.EmojiProvider
import com.vanniktech.emoji.facebook.category.ActivitiesCategory
import com.vanniktech.emoji.facebook.category.AnimalsAndNatureCategory
import com.vanniktech.emoji.facebook.category.FlagsCategory
import com.vanniktech.emoji.facebook.category.FoodAndDrinkCategory
import com.vanniktech.emoji.facebook.category.ObjectsCategory
import com.vanniktech.emoji.facebook.category.SmileysAndPeopleCategory
import com.vanniktech.emoji.facebook.category.SymbolsCategory
import com.vanniktech.emoji.facebook.category.TravelAndPlacesCategory

class FacebookEmojiProvider : EmojiProvider {
override val categories: Array<EmojiCategory>
get() = arrayOf(
SmileysAndPeopleCategory(),
AnimalsAndNatureCategory(),
FoodAndDrinkCategory(),
ActivitiesCategory(),
TravelAndPlacesCategory(),
ObjectsCategory(),
SymbolsCategory(),
FlagsCategory(),
)

override fun release() = Unit
}
26 changes: 21 additions & 5 deletions emoji-google-compat/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,27 @@ plugins {

metalava {
filename = "api/current.txt"
sourcePaths = ["src/commonMain", "src/androidMain", "src/jvmMain"]
sourcePaths = ["src/commonMain", "src/androidMain", "src/jvmMain", "src/iosMain"]
}

// CocoaPods requires a version.
version = VERSION_NAME

kotlin {
android("android")
// ios("ios")
ios("ios")
jvm("jvm")

cocoapods {
version = VERSION_NAME
summary = "emoji-google-compat"
homepage = "https://github.com/vanniktech/Emoji"
name = "EmojiGoogleCompat"

// framework {
// isStatic = true
// embedBitcode(BITCODE)
// export(project(":emoji"))
// }
}

sourceSets {
commonMain {
dependencies {
Expand All @@ -44,6 +54,12 @@ kotlin {
implementation libs.robolectric
}

iosMain.dependencies {
}

iosTest.dependencies {
}

jvmMain.dependencies {
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright (C) 2016 - Niklas Baudy, Ruben Gees, Mario Đanić and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.vanniktech.emoji.googlecompat

import com.vanniktech.emoji.EmojiCategory
import com.vanniktech.emoji.EmojiProvider
import com.vanniktech.emoji.googlecompat.category.ActivitiesCategory
import com.vanniktech.emoji.googlecompat.category.AnimalsAndNatureCategory
import com.vanniktech.emoji.googlecompat.category.FlagsCategory
import com.vanniktech.emoji.googlecompat.category.FoodAndDrinkCategory
import com.vanniktech.emoji.googlecompat.category.ObjectsCategory
import com.vanniktech.emoji.googlecompat.category.SmileysAndPeopleCategory
import com.vanniktech.emoji.googlecompat.category.SymbolsCategory
import com.vanniktech.emoji.googlecompat.category.TravelAndPlacesCategory

class GoogleCompatEmojiProvider : EmojiProvider {
override val categories: Array<EmojiCategory>
get() = arrayOf(
SmileysAndPeopleCategory(),
AnimalsAndNatureCategory(),
FoodAndDrinkCategory(),
ActivitiesCategory(),
TravelAndPlacesCategory(),
ObjectsCategory(),
SymbolsCategory(),
FlagsCategory(),
)

override fun release() = Unit
}
26 changes: 21 additions & 5 deletions emoji-google/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,27 @@ plugins {

metalava {
filename = "api/current.txt"
sourcePaths = ["src/commonMain", "src/androidMain", "src/jvmMain"]
sourcePaths = ["src/commonMain", "src/androidMain", "src/jvmMain", "src/iosMain"]
}

// CocoaPods requires a version.
version = VERSION_NAME

kotlin {
android("android")
// ios("ios")
ios("ios")
jvm("jvm")

cocoapods {
version = VERSION_NAME
summary = "emoji-google"
homepage = "https://github.com/vanniktech/Emoji"
name = "EmojiGoogle"

// framework {
// isStatic = true
// embedBitcode(BITCODE)
// export(project(":emoji"))
// }
}

sourceSets {
commonMain {
dependencies {
Expand All @@ -43,6 +53,12 @@ kotlin {
implementation libs.robolectric
}

iosMain.dependencies {
}

iosTest.dependencies {
}

jvmMain.dependencies {
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright (C) 2016 - Niklas Baudy, Ruben Gees, Mario Đanić and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.vanniktech.emoji.google

import com.vanniktech.emoji.EmojiCategory
import com.vanniktech.emoji.EmojiProvider
import com.vanniktech.emoji.google.category.ActivitiesCategory
import com.vanniktech.emoji.google.category.AnimalsAndNatureCategory
import com.vanniktech.emoji.google.category.FlagsCategory
import com.vanniktech.emoji.google.category.FoodAndDrinkCategory
import com.vanniktech.emoji.google.category.ObjectsCategory
import com.vanniktech.emoji.google.category.SmileysAndPeopleCategory
import com.vanniktech.emoji.google.category.SymbolsCategory
import com.vanniktech.emoji.google.category.TravelAndPlacesCategory

class GoogleEmojiProvider : EmojiProvider {
override val categories: Array<EmojiCategory>
get() = arrayOf(
SmileysAndPeopleCategory(),
AnimalsAndNatureCategory(),
FoodAndDrinkCategory(),
ActivitiesCategory(),
TravelAndPlacesCategory(),
ObjectsCategory(),
SymbolsCategory(),
FlagsCategory(),
)

override fun release() = Unit
}
26 changes: 21 additions & 5 deletions emoji-ios/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,27 @@ plugins {

metalava {
filename = "api/current.txt"
sourcePaths = ["src/commonMain", "src/androidMain", "src/jvmMain"]
sourcePaths = ["src/commonMain", "src/androidMain", "src/jvmMain", "src/iosMain"]
}

// CocoaPods requires a version.
version = VERSION_NAME

kotlin {
android("android")
// ios("ios")
ios("ios")
jvm("jvm")

cocoapods {
version = VERSION_NAME
summary = "emoji-ios"
homepage = "https://github.com/vanniktech/Emoji"
name = "EmojiIos"

// framework {
// isStatic = true
// embedBitcode(BITCODE)
// export(project(":emoji"))
// }
}

sourceSets {
commonMain {
dependencies {
Expand All @@ -43,6 +53,12 @@ kotlin {
implementation libs.robolectric
}

iosMain.dependencies {
}

iosTest.dependencies {
}

jvmMain.dependencies {
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright (C) 2016 - Niklas Baudy, Ruben Gees, Mario Đanić and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.vanniktech.emoji.ios

import com.vanniktech.emoji.EmojiCategory
import com.vanniktech.emoji.EmojiProvider
import com.vanniktech.emoji.ios.category.ActivitiesCategory
import com.vanniktech.emoji.ios.category.AnimalsAndNatureCategory
import com.vanniktech.emoji.ios.category.FlagsCategory
import com.vanniktech.emoji.ios.category.FoodAndDrinkCategory
import com.vanniktech.emoji.ios.category.ObjectsCategory
import com.vanniktech.emoji.ios.category.SmileysAndPeopleCategory
import com.vanniktech.emoji.ios.category.SymbolsCategory
import com.vanniktech.emoji.ios.category.TravelAndPlacesCategory

class IosEmojiProvider : EmojiProvider {
override val categories: Array<EmojiCategory>
get() = arrayOf(
SmileysAndPeopleCategory(),
AnimalsAndNatureCategory(),
FoodAndDrinkCategory(),
ActivitiesCategory(),
TravelAndPlacesCategory(),
ObjectsCategory(),
SymbolsCategory(),
FlagsCategory(),
)

override fun release() = Unit
}
Loading

0 comments on commit 421f9f7

Please sign in to comment.