Files
ag-x/scripts/build-deb.sh
Admin 0265d58123 Complete source code - AI Provider Edition v2.0.1
Added complete source code and pre-compiled application:

Source Code:
- app.asar (compiled Electron app)
- app-extracted/ (all extracted source files)
  - dist/services/aiProviderService.js
  - dist/services/settingsService.js
  - dist/ipcHandlers.js
  - dist/aiProviderAPI.ts
  - dist/ai-provider-settings.html
  - And all other application files

Build Tools:
- scripts/extract-app.sh
- scripts/repack-app.sh
- scripts/build-deb.sh
- scripts/install-deb.sh

Documentation:
- SOURCE_CODE.md (repository structure)
- BUILD.md (build instructions)
- README.md (overview)
- docs/ (complete API docs)
  - AI_PROVIDER_SPECIFICATION.md
  - AI_PROVIDER_README.md
  - IMPLEMENTATION_SUMMARY.md

Features included:
- 17+ AI provider presets
- One-click provider setup
- Model auto-fetching
- Connection testing
- Modern GUI interface
- Complete IPC handlers (14 new)
- TypeScript API wrapper
- Persistent settings

Ready to build and customize!
2026-05-22 10:34:10 +00:00

141 lines
3.6 KiB
Bash
Executable File

#!/bin/bash
# Build .deb package from source
# Usage: ./scripts/build-deb.sh
set -e
VERSION="2.0.1-ai-providers-1"
DEB_FILE="antigravity_${VERSION}_amd64.deb"
echo "Building Antigravity .deb package..."
# Check if app.asar exists
if [ ! -f "src/app.asar" ]; then
echo "Error: src/app.asar not found"
echo "Run extract-app.sh and repack-app.sh first"
exit 1
fi
# Create temporary directory
TEMP_DIR=$(mktemp -d)
echo "Using temp directory: $TEMP_DIR"
# Create package structure
mkdir -p "$TEMP_DIR/DEBIAN"
mkdir -p "$TEMP_DIR/opt/antigravity"
# Copy application files
echo "Copying application files..."
cp -r Antigravity-x64/* "$TEMP_DIR/opt/antigravity/"
# Replace app.asar with our modified version
cp src/app.asar "$TEMP_DIR/opt/antigravity/resources/"
# Create control file
cat > "$TEMP_DIR/DEBIAN/control" << 'EOF'
Package: antigravity
Version: VERSION_PLACEHOLDER
Section: development
Priority: optional
Architecture: amd64
Depends: libc6 (>= 2.17), libgtk-3-0, libnotify4, libnss3, libxss1, libxtst6, xdg-utils, libatspi2.0-0, libuuid1
Maintainer: Antigravity Team <support@antigravity.dev>
Description: Antigravity IDE with AI Provider GUI Support
Antigravity is a modern IDE powered by AI that helps developers
write better code faster. This version includes comprehensive
GUI support for managing multiple AI providers including OpenAI,
Anthropic, Google Gemini, Ollama, OpenRouter, and 15+ other providers.
EOF
# Replace version placeholder
sed -i "s/VERSION_PLACEHOLDER/$VERSION/" "$TEMP_DIR/DEBIAN/control"
# Create preinst
cat > "$TEMP_DIR/DEBIAN/preinst" << 'EOF'
#!/bin/bash
set -e
echo "Preparing to install Antigravity..."
if [ -d /opt/antigravity ]; then
echo "Removing previous installation..."
rm -rf /opt/antigravity
fi
mkdir -p /opt/antigravity
mkdir -p ~/.config/antigravity
mkdir -p ~/.cache/antigravity
exit 0
EOF
# Create postinst
cat > "$TEMP_DIR/DEBIAN/postinst" << 'EOF'
#!/bin/bash
set -e
echo "Installing Antigravity..."
chmod 755 /opt/antigravity/antigravity
chmod 644 /opt/antigravity/resources.pak
chmod 644 /opt/antigravity/icudtl.dat
chmod +x /opt/antigravity/chrome-sandbox 2>/dev/null || true
mkdir -p /usr/share/applications
cat > /usr/share/applications/antigravity.desktop << 'DESKTOP'
[Desktop Entry]
Version=2.0.1-ai-providers-1
Name=Antigravity IDE
Comment=AI-Powered Development Environment with Multi-Provider Support
Exec=/opt/antigravity/antigravity %U
Icon=/opt/antigravity/icon.png
Terminal=false
Type=Application
Categories=Development;IDE;TextEditor;
Keywords=code;developer;ai;programming;ide;
StartupWMClass=antigravity
DESKTOP
ln -sf /opt/antigravity/antigravity /usr/local/bin/antigravity
update-desktop-database /usr/share/applications/ 2>/dev/null || true
echo "Antigravity installed successfully!"
exit 0
EOF
# Create prerm
cat > "$TEMP_DIR/DEBIAN/prerm" << 'EOF'
#!/bin/bash
set -e
pkill -f antigravity 2>/dev/null || true
exit 0
EOF
# Create postrm
cat > "$TEMP_DIR/DEBIAN/postrm" << 'EOF'
#!/bin/bash
set -e
rm -f /usr/share/applications/antigravity.desktop
rm -f /usr/local/bin/antigravity
update-desktop-database /usr/share/applications/ 2>/dev/null || true
exit 0
EOF
# Make scripts executable
chmod +x "$TEMP_DIR/DEBIAN/preinst"
chmod +x "$TEMP_DIR/DEBIAN/postinst"
chmod +x "$TEMP_DIR/DEBIAN/prerm"
chmod +x "$TEMP_DIR/DEBIAN/postrm"
# Build package
echo "Building .deb package..."
dpkg-deb --build "$TEMP_DIR" "$DEB_FILE"
# Move to packages directory
mkdir -p packages
mv "$DEB_FILE" packages/
# Cleanup
rm -rf "$TEMP_DIR"
echo ""
echo "✅ Build complete!"
echo "Package created: packages/$DEB_FILE"
echo ""
echo "To install:"
echo " sudo dpkg -i packages/$DEB_FILE"
echo " antigravity"