mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2025-12-06 02:59:28 +00:00
Make shelfsdk a submodule (#66)
* make shelfsdk a submodule * add contributing.md * add submodule info * update ci * add submodule
This commit is contained in:
parent
247413def0
commit
6c50821682
8 changed files with 204 additions and 18 deletions
8
.github/workflows/flutter_release.yaml
vendored
8
.github/workflows/flutter_release.yaml
vendored
|
|
@ -16,13 +16,9 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Checkout shelfsdk
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
with:
|
||||||
repository: Dr-Blank/shelfsdk
|
submodules: recursive
|
||||||
path: ./shelfsdk
|
|
||||||
|
|
||||||
- name: Set Up Java
|
- name: Set Up Java
|
||||||
uses: actions/setup-java@v3.12.0
|
uses: actions/setup-java@v3.12.0
|
||||||
|
|
|
||||||
35
.github/workflows/flutter_test.yaml
vendored
35
.github/workflows/flutter_test.yaml
vendored
|
|
@ -6,13 +6,40 @@ on:
|
||||||
- main
|
- main
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
# This ensures submodules are cloned
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
# Debug: Echo current directory contents
|
||||||
|
- name: List root directory contents
|
||||||
|
run: |
|
||||||
|
pwd
|
||||||
|
ls -la
|
||||||
|
|
||||||
|
# Debug: Recursive directory structure
|
||||||
|
- name: Show full directory structure
|
||||||
|
run: |
|
||||||
|
echo "Full directory structure:"
|
||||||
|
tree -L 3
|
||||||
|
|
||||||
|
# Debug: Submodule status and details
|
||||||
|
- name: Check submodule status
|
||||||
|
run: |
|
||||||
|
echo "Submodule status:"
|
||||||
|
git submodule status
|
||||||
|
|
||||||
|
echo "\nSubmodule details:"
|
||||||
|
git submodule foreach 'echo $path: && pwd && ls -la'
|
||||||
|
|
||||||
- name: Decode android/upload.jks
|
- name: Decode android/upload.jks
|
||||||
run: echo "${{ secrets.UPLOAD_KEYSTORE_JKS }}" | base64 --decode > android/upload.jks
|
run: echo "${{ secrets.UPLOAD_KEYSTORE_JKS }}" | base64 --decode > android/upload.jks
|
||||||
|
|
@ -20,12 +47,6 @@ jobs:
|
||||||
- name: Decode android/key.properties
|
- name: Decode android/key.properties
|
||||||
run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > android/key.properties
|
run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > android/key.properties
|
||||||
|
|
||||||
- name: Checkout shelfsdk
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
repository: Dr-Blank/shelfsdk
|
|
||||||
path: ./shelfsdk
|
|
||||||
|
|
||||||
- name: Set up Flutter
|
- name: Set up Flutter
|
||||||
uses: subosito/flutter-action@v2
|
uses: subosito/flutter-action@v2
|
||||||
with:
|
with:
|
||||||
|
|
|
||||||
5
.gitignore
vendored
5
.gitignore
vendored
|
|
@ -42,8 +42,5 @@ app.*.map.json
|
||||||
/android/app/profile
|
/android/app/profile
|
||||||
/android/app/release
|
/android/app/release
|
||||||
|
|
||||||
# separate git repo for api sdk
|
|
||||||
/shelfsdk
|
|
||||||
|
|
||||||
# secret keys
|
# secret keys
|
||||||
/secrets
|
/secrets
|
||||||
|
|
|
||||||
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "shelfsdk"]
|
||||||
|
path = shelfsdk
|
||||||
|
url = https://github.com/Dr-Blank/shelfsdk
|
||||||
167
CONTRIBUTING.md
Normal file
167
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,167 @@
|
||||||
|
# Contributing to Vaani
|
||||||
|
|
||||||
|
## Welcome Contributors! 🚀
|
||||||
|
|
||||||
|
We appreciate your interest in contributing to Vaani. This guide will help you navigate the contribution process effectively.
|
||||||
|
|
||||||
|
## How to Contribute
|
||||||
|
|
||||||
|
### Reporting Bugs 🐞
|
||||||
|
|
||||||
|
1. **Check Existing Issues**:
|
||||||
|
- Search through the [GitHub Issues](https://github.com/Dr-Blank/Vaani/issues)
|
||||||
|
|
||||||
|
2. **Create a Detailed Bug Report**:
|
||||||
|
- Provide:
|
||||||
|
* Exact steps to reproduce
|
||||||
|
* Relevant error logs or screenshots
|
||||||
|
|
||||||
|
### Submodule Contribution Workflow 🧩
|
||||||
|
|
||||||
|
#### Understanding Vaani's Submodule Structure
|
||||||
|
|
||||||
|
Vaani uses Git submodules to manage interconnected components. This means each submodule is a separate Git repository nested within the main project.
|
||||||
|
|
||||||
|
#### Working with Submodules
|
||||||
|
|
||||||
|
1. **Identifying Submodules**:
|
||||||
|
- List all submodules in the project
|
||||||
|
```bash
|
||||||
|
git submodule status
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Initializing Submodules**:
|
||||||
|
```bash
|
||||||
|
# Ensure all submodules are initialized
|
||||||
|
git submodule update --init --recursive
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Contributing to a Specific Submodule**:
|
||||||
|
|
||||||
|
a. **Navigate to Submodule Directory**:
|
||||||
|
```bash
|
||||||
|
cd path/to/submodule
|
||||||
|
```
|
||||||
|
|
||||||
|
b. **Create a Separate Branch**:
|
||||||
|
```bash
|
||||||
|
git checkout -b feature/your-submodule-feature
|
||||||
|
```
|
||||||
|
|
||||||
|
c. **Make and Commit Changes**:
|
||||||
|
```bash
|
||||||
|
# Stage changes
|
||||||
|
git add .
|
||||||
|
|
||||||
|
# Commit with descriptive message
|
||||||
|
git commit -m "feat(submodule): describe specific change"
|
||||||
|
```
|
||||||
|
|
||||||
|
d. **Push Submodule Changes**:
|
||||||
|
```bash
|
||||||
|
git push origin feature/your-submodule-feature
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **Updating Submodule References**:
|
||||||
|
After making changes to a submodule:
|
||||||
|
```bash
|
||||||
|
# From the main repository root
|
||||||
|
git add path/to/submodule
|
||||||
|
git commit -m "Update submodule reference to latest changes"
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **Pulling Latest Submodule Changes**:
|
||||||
|
```bash
|
||||||
|
# Update all submodules
|
||||||
|
git submodule update --recursive --remote
|
||||||
|
|
||||||
|
# Or update a specific submodule
|
||||||
|
git submodule update --remote path/to/specific/submodule
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Submodule Contribution Best Practices
|
||||||
|
|
||||||
|
- Always work in a feature branch within the submodule
|
||||||
|
- Ensure submodule changes do not break the main application
|
||||||
|
- Write tests for submodule-specific changes
|
||||||
|
- Update documentation if the submodule's interface changes
|
||||||
|
- Create a pull request for the submodule first, then update the main project's submodule reference
|
||||||
|
|
||||||
|
### Development Workflow
|
||||||
|
|
||||||
|
#### Setting Up the Development Environment
|
||||||
|
|
||||||
|
1. **Prerequisites**:
|
||||||
|
- [Git](https://git-scm.com/)
|
||||||
|
- [Flutter SDK](https://flutter.dev/)
|
||||||
|
- Recommended IDE: [VS Code](https://code.visualstudio.com/)
|
||||||
|
|
||||||
|
2. **Repository Setup**:
|
||||||
|
|
||||||
|
1. [Fork the repo](https://github.com/Dr-Blank/Vaani/fork)
|
||||||
|
1. Clone the forked repository to your local machine
|
||||||
|
```bash
|
||||||
|
# Fork the main repository on GitHub
|
||||||
|
git clone --recursive https://github.com/[YOUR_USERNAME]/Vaani.git
|
||||||
|
cd Vaani
|
||||||
|
|
||||||
|
# Initialize and update submodules
|
||||||
|
git submodule update --init --recursive
|
||||||
|
|
||||||
|
# Install dependencies for the main app and submodules
|
||||||
|
flutter pub get
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Coding Standards
|
||||||
|
|
||||||
|
1. **Code Style**:
|
||||||
|
- Follow [Flutter's style guide](https://dart.dev/guides/language/effective-dart/style)
|
||||||
|
- Use `dart format` and `flutter analyze`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dart format .
|
||||||
|
flutter analyze
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Testing**:
|
||||||
|
- Write unit and widget tests
|
||||||
|
- Ensure tests pass for both the main app and submodules
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flutter test
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pull Request Process
|
||||||
|
|
||||||
|
1. **Branch Naming**:
|
||||||
|
- Use descriptive branch names
|
||||||
|
- Prefix with feature/, bugfix/, or docs/
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git checkout -b feature/add-accessibility-support
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Commit Messages**:
|
||||||
|
- Use clear, concise descriptions
|
||||||
|
- Reference issue numbers when applicable
|
||||||
|
- Follow conventional commits format:
|
||||||
|
`<type>(scope): <description>`
|
||||||
|
|
||||||
|
3. **Pull Request Guidelines**:
|
||||||
|
- Clearly describe the purpose of your changes
|
||||||
|
- Include screenshots for visual changes
|
||||||
|
- Specify if changes affect specific submodules
|
||||||
|
- Ensure all CI checks pass
|
||||||
|
|
||||||
|
## Communication
|
||||||
|
|
||||||
|
* [Open an Issue](https://github.com/Dr-Blank/Vaani/issues)
|
||||||
|
* [Discussion Forum](https://github.com/Dr-Blank/Vaani/discussions)
|
||||||
|
|
||||||
|
## Code of Conduct
|
||||||
|
|
||||||
|
* Be respectful and inclusive
|
||||||
|
* Constructive feedback is welcome
|
||||||
|
* Collaborate and support fellow contributors
|
||||||
|
|
||||||
|
Happy Contributing! 🌟
|
||||||
|
|
@ -1565,4 +1565,4 @@ packages:
|
||||||
version: "3.1.2"
|
version: "3.1.2"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=3.5.0 <4.0.0"
|
dart: ">=3.5.0 <4.0.0"
|
||||||
flutter: ">=3.24.0"
|
flutter: ">=3.24.5"
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ version: 0.0.15+6
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=3.3.4 <4.0.0"
|
sdk: ">=3.3.4 <4.0.0"
|
||||||
|
flutter: ">=3.24.5 <4.0.0"
|
||||||
|
|
||||||
isar_version: &isar_version ^4.0.0-dev.13 # define the version to be used
|
isar_version: &isar_version ^4.0.0-dev.13 # define the version to be used
|
||||||
|
|
||||||
|
|
|
||||||
1
shelfsdk
Submodule
1
shelfsdk
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 9a9e25e9f019894df11760735f2d856a68974b8c
|
||||||
Loading…
Add table
Add a link
Reference in a new issue