1+ #! /bin/bash
2+
3+ # Setup script for new RFC repository
4+ # Usage: ./Scripts/setup-rfc.sh <RFC_NUMBER> <RFC_TITLE> [AUTHOR_NAME]
5+
6+ set -e
7+
8+ if [ $# -lt 2 ]; then
9+ echo " Usage: $0 <RFC_NUMBER> <RFC_TITLE> [AUTHOR_NAME]"
10+ echo " Example: $0 2822 'Internet Message Format' 'John Doe'"
11+ exit 1
12+ fi
13+
14+ RFC_NUMBER=$1
15+ RFC_TITLE=$2
16+ AUTHOR_NAME=${3:- " Generated" }
17+ CREATION_DATE=$( date +" %d/%m/%Y" )
18+
19+ echo " Setting up RFC $RFC_NUMBER : $RFC_TITLE "
20+ echo " Author: $AUTHOR_NAME "
21+ echo " Date: $CREATION_DATE "
22+
23+ # Function to process template files
24+ process_template () {
25+ local file=$1
26+ local new_file=" ${file% .template} "
27+
28+ sed " s/XXXX/$RFC_NUMBER /g; s/RFC_TITLE/$RFC_TITLE /g; s/RFC_AUTHOR_NAME/$AUTHOR_NAME /g; s/RFC_CREATION_DATE/$CREATION_DATE /g" " $file " > " $new_file "
29+ rm " $file "
30+ echo " Processed: $new_file "
31+ }
32+
33+ # Process all template files
34+ find . -name " *.template" -type f | while read -r file; do
35+ process_template " $file "
36+ done
37+
38+ # Rename directories
39+ if [ -d " Sources/RFC_XXXX" ]; then
40+ mv " Sources/RFC_XXXX" " Sources/RFC_$RFC_NUMBER "
41+ echo " Renamed: Sources/RFC_$RFC_NUMBER "
42+ fi
43+
44+ if [ -d " Tests/RFC_XXXX Tests" ]; then
45+ mv " Tests/RFC_XXXX Tests" " Tests/RFC_${RFC_NUMBER} Tests"
46+ echo " Renamed: Tests/RFC_${RFC_NUMBER} Tests"
47+ fi
48+
49+ # Initialize git repository if not already initialized
50+ if [ ! -d " .git" ]; then
51+ git init
52+ echo " Initialized git repository"
53+ fi
54+
55+ echo " "
56+ echo " ✅ RFC $RFC_NUMBER setup complete!"
57+ echo " "
58+ echo " Next steps:"
59+ echo " 1. Review and commit the generated files"
60+ echo " 2. Create GitHub repository: swift-rfc-$RFC_NUMBER "
61+ echo " 3. Push to GitHub"
62+ echo " 4. Start implementing RFC $RFC_NUMBER types in Sources/RFC_$RFC_NUMBER /"
0 commit comments