Commit graph

2809 commits

Author SHA1 Message Date
Jason P. Leasure 2c27ca1376 consolidate bundle management into bundlehost
- change ownership of script directories to singleton bundlehost
- start moving BundleStatus into GUI only mode
2020-07-28 16:56:07 -04:00
Jason P. Leasure 1735a11a76 do not auto-create ScriptInfo objects, fix static allocatins in testing 2020-07-28 16:56:07 -04:00
Jason P. Leasure 6268ab9d3e move static bundle vars to BundleHost 2020-07-28 16:56:07 -04:00
Jason P. Leasure 0f74dcb8be cleanup, fix tests where script deleted before getScriptInfo
- mark deleted scripts as having compile errors
2020-07-28 16:56:07 -04:00
Jason P. Leasure 5c28ab536c add jarbundle, add toolbar actions, fix view versus row indexing
- move bundle compiler into source bundle
- activate action attempts to activate in topological order
- modified suppression of RowObjectSelectionManager.repair
- add animation for clean operation
2020-07-28 16:56:07 -04:00
Jason P. Leasure 0383926fc3 replace +- buttons in bundlestatus gui with toolbar actions
- synchronize summary, compilerErrors
- check requirements before activation for class files that won't load
2020-07-28 16:56:07 -04:00
Jason P. Leasure 89e0e617b2 speed up bundle status load, fix empty source dir handling 2020-07-28 16:56:07 -04:00
Jason P. Leasure 15f46b7fae a status is not a path 2020-07-28 16:56:07 -04:00
Jason P. Leasure 431d7ac752 introduce GhidraBundle, cleanup packages, rename path->status 2020-07-28 16:56:07 -04:00
Jason P. Leasure 7873bb32fa improve OSGi error messages
- move serialization and bundleevents from provider into
  bundlestatusmodel
- add summary field to bundle status
- add more precise tracking of requirements
- make status updates asynchronous via OSGiListener
2020-07-28 16:56:07 -04:00
Jason P. Leasure 8d55571172 connect OSGi framework to bundlestatusprovider 2020-07-28 16:56:07 -04:00
Jason P. Leasure f39d55cca1 start connecting OSGi to bundlestatusmanager
- minimize access to BundleHost instance (JavaScriptProvider is still bad)
- BundlePath
  - restrict construction to osgi package
  - remove "editable" attribute and fix incorrect reference
  - remove references in GhidraScriptUtil
    - BundlePath attribute choice came down only to system or user
    - user filtering on "enabled" were redundant
- move compilation from JavaScriptProvider to BundheHost
2020-07-28 16:56:07 -04:00
Jason P. Leasure 36f4a219d9 headers for new files 2020-07-28 16:56:07 -04:00
Jason P. Leasure d8610b00be improve model/view split in bundle status, more nomenclature fixes 2020-07-28 16:56:07 -04:00
Jason P. Leasure ad897f263c rename variables, move bundlehost instance, clean dead fileinstaller code 2020-07-28 16:56:07 -04:00
Jason P. Leasure 2e05da019f move bundle path manager to core as a ComponentProvider for bundle status
- PathManager was most of a ComponentProvider anyway, so this isn't a
  huge change
- this makes bundle status available w/out the GhidraScript component
- it's no longer modal, e.g. script directory list updates are immediate
2020-07-28 16:56:07 -04:00
Jason P. Leasure c660a12ab3 clarify and discourage access to compiled scripts 2020-07-28 16:56:07 -04:00
Jason P. Leasure c106e0e02b filter bundles for source directories when asked for script dirs 2020-07-28 16:56:07 -04:00
Jason P. Leasure 91f09dd0c5 remove now impossible script name collision test
- in testing, TestChangeProgramScript isn't compiled, otherwise fake files
  were unneccessary
2020-07-28 16:56:07 -04:00
Jason P. Leasure 092d716e96 update tests
- note: timeout increased by 33% in waitForTaskEnd because the entire
  script directory needs to compiled now
- complete recursive wipe of binary artifacts added to @After action
2020-07-28 16:56:07 -04:00
Jason P. Leasure 931a9e8230 add bundlepathmanager for scripting
- move bundle host into GhidraScriptMgrPlugin
- remove access to script class files and bin directory
- remove JavaScriptClassLoader
- add loadClass to JavaScriptProvider to load non-GhidraScript classes
2020-07-28 16:56:07 -04:00
Jason P. Leasure b2b93bd20d deprecate USER_SCRIPTS_BIN_DIR 2020-07-28 16:56:07 -04:00
Jason P. Leasure 73665bba2a don't compile script in event thread 2020-07-28 16:56:07 -04:00
Jason P. Leasure aa85554abd scripting dirs now have distinct bin dirs, update test 2020-07-28 16:56:07 -04:00
Jason P. Leasure b569c79baf script tests should wipe the directory after each test 2020-07-28 16:56:07 -04:00
Jason P. Leasure 4c655c2e92 move SourceBundleInfo out of BundleHost 2020-07-28 16:56:07 -04:00
Jason P. Leasure 44aea2a48a add exceptions and handlers for osgi + scripting 2020-07-28 16:56:07 -04:00
Jason P. Leasure 41ee548b03 move more logic out of JavaScriptProvider, always use all @imports 2020-07-28 16:56:07 -04:00
Jason P. Leasure f864fbdc50 isolate script directories, add @imports tag 2020-07-28 16:56:07 -04:00
Jason P. Leasure 892b9a494a use bndlib instead of bnd jar, update to 5.0.0. 2020-07-28 16:56:07 -04:00
Jason P. Leasure f7c26a3e20 use Msg instead of stderr 2020-07-28 16:56:07 -04:00
Jason P. Leasure d5d75fac9f allow failing scripts 2020-07-28 16:56:06 -04:00
Jason P. Leasure 59bd3806cc parse classpath manually, don't use guava, add some logging 2020-07-28 16:56:06 -04:00
Jason P. Leasure 99c46911cc associate inner class files with their parent java class 2020-07-28 16:56:06 -04:00
Jason P. Leasure 34a030173c initial commit of OSGI GhidraScripts
- JavaScript provider hosts an OSGI framework
- each script directory is compiled to a bundle on demand
2020-07-28 16:56:06 -04:00
ghidorahrex 94b42e64dd Merge remote-tracking branch
'origin/GP-47_ghidorahrex_PR-2133_Octocontrabass_superh_rotr'

Fixes #2133
2020-07-27 12:52:13 -04:00
ghidra1 fd0e66d812 Merge remote-tracking branch 'origin/GP-38_ghidra1_CaseInsensitiveRegisterLookup' 2020-07-24 16:16:08 -04:00
ghidra1 898da2b7ee Cleanup of SymbolUtilites javadoc and unused parameters 2020-07-24 16:05:01 -04:00
ghidra1 52f8a49ffe GP-38 minor revisions per review 2020-07-24 15:29:43 -04:00
ghidravore a3ea51aff8 GT-1 removed return value on setEnabled() in DockingAction 2020-07-24 15:22:39 -04:00
ghidravore 38af2fbff2 Fixed gtree unloadChildren to fire nodeStructureChanged event so that
the internal jtree cache is kept in sync.
2020-07-24 13:10:14 -04:00
ghidravore 4da4c26d44 Merge remote-tracking branch 'origin/GT-0-dragonmacher-test-fixes-7-24-20' 2020-07-24 11:35:35 -04:00
dragonmacher 6adb6fb5e5 Tests - fixed test broken due to impedance between wait time and slow
test environment
2020-07-24 10:32:32 -04:00
dragonmacher c497e95434 Tests - fixed test failing due to recent refactoring 2020-07-24 10:32:01 -04:00
ghidra1 8614478cd5 Merge remote-tracking branch 'origin/GT-3640_ghidra1_ServerPasswords' 2020-07-24 10:06:37 -04:00
Octocontrabass c9fcb5efe7
SuperH: correct rotr instruction 2020-07-23 16:05:36 -07:00
ghidravore 6e487bd248 Merge remote-tracking branch 'origin/GT-3646-dragonmacher-demangled-variable-namespace' 2020-07-23 16:03:00 -04:00
ghidravore 317969a036 Merge remote-tracking branch 'origin/GT-3636-dragonmacher-decompiler-action-enablement' 2020-07-23 15:59:50 -04:00
ghidra1 d9cc6b1b83 Merge remote-tracking branch 'origin/GP-12_emteere_demangleSymbolApplicaton' 2020-07-23 09:26:29 -04:00
dragonmacher bb77d3cda9 GT-3646 - Demangler - Fixed DemangledVariable to not have duplicate
namespace entries returned from getNamespaceString()
2020-07-22 16:50:23 -04:00