Extensible Script Generator Framework for Automated Build Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing build script tools, such as Ant, lack flexibility and ease of use, requiring skilled programmers for customization and manual script generation, and cannot be run outside an IDE, limiting their applicability and automation in software development environments.

Innovation Solution

An extensible script generator framework that allows plugging in multiple script generators and customizers, enabling automatic build script generation with a command-line interface, allowing invocation outside the IDE and customization without modifying the generators, using a metadata separation for independent logic and feature modification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual script generation with existing build tools is used, then script generation is possible, but it requires skilled programmers and lacks ease of use

Engineering Contradiction:
Improveease of useVSAvoidcomplexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically generating build scripts based on project metadata without requiring manual intervention from skilled programmers. The script generator framework autonomously analyzes project structure and produces appropriate build scripts, eliminating the need for users to manually write complex build configurations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary script generator framework that mediates between the build tool and the project. This framework translates project metadata into build scripts automatically, serving as a bridge that simplifies the interaction for users while maintaining the functionality of the build tool.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If existing build tools are used, then build scripts can be generated, but customization requires modifying the generators themselves

Engineering Contradiction:
Improvecustomization capabilityVSAvoidcomplexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the build script generation process into separate, independent components: the script generator framework and customizable script templates. Users can customize individual script templates without modifying the core generator framework, allowing flexible adaptation while maintaining system integrity and simplicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamics by making the script templates configurable and adaptable based on project requirements. The framework allows dynamic selection and customization of script templates through metadata configuration, enabling the system to adapt to different project types without requiring structural modifications to the generator itself.

Inventive Principle:
Principle #15Dynamics

3Extent of automation

If build scripts are generated manually or with fixed tools, then scripts can be created, but automation is limited

Engineering Contradiction:
ImproveautomationVSAvoidcomplexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The system achieves high automation through self-service mechanisms where the script generator automatically analyzes project metadata, selects appropriate script templates, and generates build scripts without manual intervention. This fully automated process eliminates the need for skilled programmers while maintaining simplicity through configuration-based operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback mechanisms where the script generator continuously monitors project metadata and adjusts script generation accordingly. The system uses feedback from project analysis to automatically configure and generate appropriate build scripts, enabling adaptive automation that responds to project-specific requirements without increasing complexity.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If existing build tools are used, then build functionality is available, but flexibility and ease of use are reduced

Engineering Contradiction:
ImproveflexibilityVSAvoidease of use
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The script generator framework provides universality by supporting multiple script templates and project types through a single unified interface. The system can generate different types of build scripts (Ant, Make, etc.) using the same framework, providing flexible adaptability while maintaining ease of use through consistent operation across different scenarios.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent utilizes parameter changes by allowing flexible configuration of script generation through metadata parameters. Users can adjust generation parameters and template selections based on project requirements, providing flexibility without requiring complex modifications. The system adapts to different needs by changing generation parameters rather than structural components.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8051405B2System and method for build script generation in a software development environment
Publication Date: 2011.11.01 ORACLE INT CORP
  • US8051405B2 patent drawing
  • US8051405B2 patent drawing
  • US8051405B2 patent drawing

AI summary

A system and method for build script generation in a software development environment. An extensible script generator framework allows for one or more script generators to be plugged into the framework. When the framework is subsequently invoked to build a software project or application, each of the plugged-in generators can be evaluated to see if one or more generators should be applied to that project or application. The applicable generators are then used during the build process to automatically generate a build script. In some embodiments, a command line interface allows the generator framework to be invoked outside of the IDE. Additionally, in some embodiments, the framework allows for the plugin of one or more customizers that can be used to further customize or tweak the build script.