A simple gradle plugin that lets you create a download asset from zeplin and convert them to vector drawables automatically

Overview

zeplin-asset-download-gradle-plugin 🐘

A simple gradle plugin that lets you create a download asset from zeplin and convert them to vector drawables automatically 🐘 project using 100% Kotlin and be up and running in a few seconds.

How to use πŸ‘£

The plugin is developed based on Zeplin API, it's used zeplin OAuth2 to verify the project have correct access.

try to add the plugin to the project.gradle you want to use,

groovy
plugins {
    ...
    id("io.github.underwindfall.zeplin.gradle")
}

zeplinConfig {
    zeplinToken = "input the correct zeplin token"
    configFile = file("input the correct zeplin file")
}
kotlin
plugins {
    ...
    id("io.github.underwindfall.zeplin.gradle")
}

zeplinConfig {
    zeplinToken.set("input the correct zeplin token")
    configFile.set(file("input the correct zeplin file"))
}

then execute the script that's it !

./gradlew your_project:updateZeplin

Zeplin Developer Token πŸ”

To use this plugin, you either need to create a personal access token or a Zeplin app. You can create them from the web app under Developer tab in your profile page. zeplin developer token

Configuration βš™οΈ

Before starting directly zeplin script, besides that zeplin token above, we also need a configuration file to tell plugin which kind of assets the plugin want to download.

{
  "projectId": "input the zeplin project id",
  "tagName": [],
  "outputDir": "",
  "resourcePrefix": "",
  "deniedList": {
    "screen_ids": []
  },
  "allowList": {
    "screen_ids": [""]
  }
}
Attributes Meaning Example to get the information
projectId id of zeplin project
tagName tag of screens which allow you download the assets with the same name collection
outputDir output directory where you want to assign plugin to put converted assets into
resourcePrefix android resource prefix to avoid resource conflicts
deniedList denied list screens in case some of screens you want to include
allowList denied list screens in case some of screens you want to exclude

Example πŸ“¦

The example project is to display how the zeplin works and what kind of configuration needs to be added you can check it in example folder.

Features 🎨

  • 100% Kotlin-only.
  • Zeplin API and vector drawable converted automatically
  • Plugin build setup with composite build.
  • CI Setup with GitHub Actions.

Contributing 🀝

Feel free to open an issue or submit a pull request for any bugs/improvements. This plugin is based on static analysis check, you can use preMerge task to test it.

A preMerge task on the top level build is already provided in the project. This allows you to run all the check tasks both in the top level and in the included build.

You can easily invoke it with:

./gradlew preMerge

If you need to invoke a task inside the included build with:

./gradlew -p plugin-build 

License πŸ“„

This template is licensed under the Apache License - see the License file for details. Please note that the generated template is offering to start with a MIT license but you can change it to whatever you wish, as long as you attribute under the MIT terms that you're using the template.

You might also like...
Gradle plugin that generates a Swift Package Manager manifest and an XCFramework to distribute a Kotlin Multiplatform library for Apple platforms.

Multiplatform Swift Package This is a Gradle plugin for Kotlin Multiplatform projects that generates an XCFramework for your native Apple targets and

Gradle Plugin for publishing artifacts to Sonatype and Nexus

Introduction Due to Sonatype's strict validation rules, the publishing requirement must be satisfied by every artifact which wants to be published to

A Gradle plugin enforcing pre-commit and commit-msg Git hooks configuration

A Gradle plugin enforcing pre-commit and commit-msg Git hooks configuration. Conventional-commits-ready.

Klinker is a gradle plugin making it possible to link kotlin native executables with custom linkers and options.

Klinker is a gradle plugin making it possible to link kotlin native executables with custom linkers and options. It does this by creating a static library for kotlin compilation, then generates a c+kotlin wrapper that calls into kotlin to start the app, finally using the specified compiler to compile and link the c code and kotlin library into a binary.

Gradle plugin to check, if rest-controllers are used by clients and clients have suitable rest-interfaces

Verify-Feign Gradle Plugin This plugin will help you to verify all rest-clients and -controllers in a multimodule spring project. It will check, if al

The core Gradle plugin and associated logic used for Slack's Android app

slack-gradle-plugin This repository contains the core Gradle plugin and associated logic used for Slack's Android app. This repo is effectively read-o

Kmp4free - A Gradle Plugin that allows seamless switching between Kotlin JVM and the Kotlin Multiplatform Plugins
Kmp4free - A Gradle Plugin that allows seamless switching between Kotlin JVM and the Kotlin Multiplatform Plugins

πŸ†“ kmp4free Allows you to toggle between Kotlin JVM Plugin - Kotlin Multiplatform with a Gradle Property kmp4free=true. This Gradle Plugin was built

A Gradle plugin that improves the experience when developing Android apps, especially system tools, that use hidden APIs.

A Gradle plugin that improves the experience when developing Android apps, especially system tools, that use hidden APIs.

Grazel is a Gradle plugin to automate generation of valid Bazel files for a given Android/Kotlin/Java project.

Grazel Grazel stands for Gradle to Bazel. It is a Gradle plugin that enables you to migrate Android projects to Bazel build system in an incremental a

Releases(v0.0.1)
Owner
Qifan Yang
✍️ https://qifanyang.com πŸƒ Keep Running πŸ‘¨β€πŸ’» Software Engineer
Qifan Yang
Gradle plugin to ease Kotlin IR plugin development and usage in multimodule gradle projects

Gradle plugin to ease Kotlin IR plugin development and usage in multimodule gradle projects. Former: kotlin-ir-plugin-adapter-gradle

null 2 Mar 8, 2022
A Gradle plugin that generates plugin.yml for Bukkit/BungeeCord/Nukkit plugins based on the Gradle project

plugin-yml is a simple Gradle plugin that generates the plugin.yml plugin description file for Bukkit plugins, bungee.yml for Bungee plugins or nukkit.yml for Nukkit plugins based on the Gradle project. Various properties are set automatically (e.g. project name, version or description) and additional properties can be added using a simple DSL.

Plexus 0 Apr 10, 2022
Gradle plugin that parses version updates and assigns them to groups of people.

Notifier Gradle Plugin This gradle plugin serves the need of automating how dependencies are handles in a project. More specifically, it functions usi

Plum 4 Oct 27, 2022
Gradle Plugin that allows you to decompile bytecode compiled with Jetpack Compose Compiler Plugin into Java and check it

decomposer Gradle Plugin that allows you to decompile bytecode compiled with Jetpack Compose Compiler Plugin into Java and check it How to use Run bui

Takahiro Menju 56 Nov 18, 2022
Gradle plugin which validates the licenses of your dependency graph match what you expect

Gradle plugin which validates the licenses of your dependency graph match what you expect

Cash App 502 Dec 31, 2022
Graphfity is a Gradle Plugin which creates a dependency node diagram graph about your internal modules dependencies, specially useful if you are developing a multi-module application

Graphfity creates a dependency nodes diagram graph about your internal modules dependencies, specially useful if you are developing a multi-module app

IvΓ‘n Carrasco 27 Dec 20, 2022
A Gradle plugin that helps you speed up builds by excluding unnecessary modules.

?? Focus A Gradle plugin that generates module-specific settings.gradle files, allowing you to focus on a specific feature or module without needing t

Dropbox 314 Jan 2, 2023
Gradle Plugin to enable auto-completion and symbol resolution for all Kotlin/Native platforms.

CompleteKotlin Gradle Plugin to enable auto-completion and symbol resolution for all Kotlin/Native platforms. What this plugin provides This zero-conf

Louis CAD 235 Jan 3, 2023
A Gradle plugin to help analyse the dependency between modules and run tasks only on modules impacted by specific set of changes.

Change Tracker Plugin A Gradle plugin to help analyse the dependency between modules and run tasks only on modules impacted by specific set of changes

Ismael Di Vita 110 Dec 19, 2022
Android Gradle Plugin -- Auto Check big image and compress image in building.

McImage I will continue to update, please rest assured to use δΈ­ζ–‡ζ–‡ζ‘£ AndroidδΌ˜ι›…ηš„ζ‰“εŒ…ζ—Άθ‡ͺεŠ¨εŒ–θŽ·ε–ε…¨ιƒ¨res衄源 McImage is a Non-invasive plugin for compress all res in

smallSohoSolo 1.1k Dec 28, 2022