apadmi_grout 3.0.1 → 3.0.2.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8200a36a820e413ef28ef79b76e1cecfcd602e2ff09412030e0a3b8167e361c2
|
|
4
|
+
data.tar.gz: 75fa9c3aec135ee840a555444f388fda7f62dc04ab99bee558e4bf8651ccd46a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a58473dc58f546c38d67807298c863a6ed3c990e5cd1b0fcfe760280ed2e261890ae9548bf619569a5ab387d03aaacd1a029dba94732ec0fd89c8e0197aaa8b7
|
|
7
|
+
data.tar.gz: a7f4964a80e63b2982655f3f68eee8b4cab1c0c21a31fd1d3048fbf65118f301b274249f6cf53c20d73e4a2ebab68fbd95dc4c01ac4e6555c7e69936b260f105
|
data/LICENSE
CHANGED
data/README.md
CHANGED
|
@@ -1,3 +1,62 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Grout
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Grout is a suite of build utilities developed by Apadmi to streamline mobile application development, release management, and CI/CD workflows for Android and iOS projects.
|
|
4
|
+
|
|
5
|
+
It provides powerful tools for automating release notes, managing task board tickets (Jira and Azure DevOps), and handling build artifacts within the Fastlane ecosystem.
|
|
6
|
+
|
|
7
|
+
## 📖 Documentation
|
|
8
|
+
|
|
9
|
+
**The full documentation is the source of truth for Grout.** It includes detailed guides on installation, architecture, and advanced usage.
|
|
10
|
+
|
|
11
|
+
👉 **[View the full documentation](https://apadmi-grout.web.app/)**
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## ✨ Key Features
|
|
16
|
+
|
|
17
|
+
- 📝 **Automated Release Notes:** Generate consistent, professional release notes from your commit history and task board.
|
|
18
|
+
- 🎟️ **Task Board Integration:** Seamlessly interact with Jira and Azure DevOps (ADO) to find, move, and update tickets based on build status.
|
|
19
|
+
- 📦 **Build Artifact Management:** Standardized utilities for building and naming APKs, AABs, and IPAs.
|
|
20
|
+
- ⚙️ **Fastlane First:** Designed primarily as a Fastlane plugin to drop into existing mobile CI/CD pipelines.
|
|
21
|
+
- 🛠️ **Extensible Core:** A standalone Ruby core library for users who need custom integrations outside of Fastlane.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 🏗️ Architecture
|
|
26
|
+
|
|
27
|
+
Grout is split into two main components:
|
|
28
|
+
|
|
29
|
+
1. **Core Library (`apadmi_grout`):** The engine that handles API interactions with Jira/ADO, parsing logic, and model management.
|
|
30
|
+
2. **Fastlane Plugin (`fastlane-plugin-apadmi_grout`):** A wrapper that exposes Grout's functionality as easy-to-use Fastlane actions.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 🚀 Quick Start
|
|
35
|
+
|
|
36
|
+
### For Fastlane Users
|
|
37
|
+
|
|
38
|
+
Add the plugin to your `Pluginfile` or `Gemfile`:
|
|
39
|
+
|
|
40
|
+
```ruby
|
|
41
|
+
gem 'fastlane-plugin-apadmi_grout'
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Then, configure your environment variables (Jira/ADO credentials, board settings) in your `.env` file. See the [Installation Guide](https://apadmi-grout.web.app/usage/installation) for details.
|
|
45
|
+
|
|
46
|
+
### For Ruby Users (Core Only)
|
|
47
|
+
|
|
48
|
+
If you need the underlying logic without Fastlane dependencies:
|
|
49
|
+
|
|
50
|
+
```ruby
|
|
51
|
+
gem 'apadmi_grout'
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 🤝 Contributing
|
|
57
|
+
|
|
58
|
+
We welcome contributions! Please see our [Contributing Guide](https://apadmi-grout.web.app/contributing/getting-started) for information on how to get started, our architecture, and deployment processes.
|
|
59
|
+
|
|
60
|
+
## 📄 License
|
|
61
|
+
|
|
62
|
+
This project is licensed under the [MIT License](LICENSE).
|
|
@@ -5,7 +5,7 @@ module Apadmi
|
|
|
5
5
|
# Finds and returns a list of all the issues who's ids exist in the given changelog
|
|
6
6
|
class IssuesFromChangelogAction
|
|
7
7
|
# @param board_service [Apadmi::Grout::BoardService]
|
|
8
|
-
# @param ticket_prefix [String] The prefix for the ticket numbers in git e.g "
|
|
8
|
+
# @param ticket_prefix [String] The prefix for the ticket numbers in git e.g "GROUT-"
|
|
9
9
|
# @param [Apadmi::Grout::DefaultLogger] // or your own logger!
|
|
10
10
|
def initialize(board_service, ticket_prefix, logger)
|
|
11
11
|
@board_service = board_service
|
|
@@ -12,7 +12,7 @@ module Apadmi
|
|
|
12
12
|
# nil for unclassified fallback issues created from commit messages when the ticket was not found.
|
|
13
13
|
Issue = Struct.new(:key, :summary, :status, :issue_type, :url, :raw_object) do
|
|
14
14
|
# Creates a fallback issue from a commit message when the ticket ID could not be found in the board.
|
|
15
|
-
# @param key [String] the ticket ID as extracted from the commit (e.g. "
|
|
15
|
+
# @param key [String] the ticket ID as extracted from the commit (e.g. "GROUT-999")
|
|
16
16
|
# @param summary [String] the first line of the commit message
|
|
17
17
|
# @return [Apadmi::Grout::Issue]
|
|
18
18
|
def self.unclassified(key, summary)
|
data/lib/apadmi/grout/version.rb
CHANGED