2012-12-04 9 views
5

Quando si immette un comando nella shell gogo, prima viene visualizzato l'ambito predefinito per una corrispondenza per quel comando. Come si configura quale è l'ambito predefinito?Come modificare lo scope del comando predefinito nella shell gogo di Felix?

Ad esempio, se si avvia il framework Felix con gogo, utilizza l'ambito felix come predefinito. Ma se si avvia Equinox 3.8.1, che ora utilizza la shell felix come predefinita, utilizza l'ambito equinox come predefinito.

L'irritazione principale è che quando si digita:

g! help 

ottengo i risultati dalla equinox:help, invece di felix:help, quindi mi piacerebbe fare la portata felix il default.

Esiste una proprietà framework OSGi per configurare questo?

+0

Per quanto posso dire, non è specificato ovunque _how_ questa ricerca si verifica, tranne che il comando _first_ trovato viene eseguito. Sfortunatamente anche questo non fa parte delle specifiche OSGi, quindi non ci sono documenti dettagliati su questo materiale. Credo che questo sia quello che succede quando ognuno inizia a creare i propri standard. Puoi presentare un bug per questo con il progetto felix qui: http://issues.apache.org/jira/browse/Felix penso che siano relativamente reattivi. – drozzy

+0

Stai usando SSH o Telnet per connetterti alla shell gogo, anche in modo trasparente? Sembra che qui, per impostazione predefinita, equinox abbia come default l'uso di EQUINOX_SCOPE. https://github.com/eclipse/rt.equinox.bundles/search?q=EQUINOX_SCOPE&type=Code Il patching del bundle sembra abbastanza semplice, ma potrebbe sembrare una limitazione nel modo in cui equinox utilizza la CommandSession felix in entrambi, non fornendo un modo configurabile per utilizzare l'ambito predefinito. –

risposta

3

La shell gogo, all'avvio, proverà a trovare uno script di avvio. Di default apparirà nella cartella (relativa alla directory di avvio):

etc/gosh_profile 

Se non trova uno script lì, viene utilizzato lo script predefinito (all'interno org.apache.felix.gogo.shell), che contiene questa riga:

SCOPE = gogo:* 

Quindi, per modificare l'ambito predefinito, fornire il proprio script.

Problemi correlati