Add per-builder build events to IResourceChangeEvent
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza localizando IResourceChangeEvent y el dispatch PRE_BUILD/POST_BUILD existente del workspace en el resources framework. Traza cómo las ejecuciones de los builders exponen el project, la identidad del builder, el build kind y el timing, y verifica después que los nuevos eventos por builder estén anidados dentro de los eventos del workspace y preserven la compatibilidad indicada y el comportamiento sin listeners.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Today the resources framework only fires workspace-level PRE_BUILD and POST_BUILD events.
Listeners learn that a build ran and get the aggregated delta, but they cannot see which builder ran, on which project, for which build kind, or how long each individual builder took.
This proposes two new event types, PRE_PROJECT_BUILD and POST_PROJECT_BUILD, fired once per builder execution and nested inside the surrounding workspace PRE_BUILD/POST_BUILD pair.
Benefits:
- Per-builder profiling. Tools can attribute build time to a specific builder and project instead of a single opaque workspace total, making it easy to spot the slow builder in a large reactor.
- Monitoring and diagnostics tooling. The granularity enables build-monitor views and telemetry that show the real build sequence, which the aggregate events cannot support.
Performance impact
Negligible by default.
When no listener is registered, dispatch is a single hasListenerFor bitmask check per event with no allocation, so normal builds are unaffected.
The per-builder path also skips resource-delta computation entirely, so even with a listener attached the added work is cheap metadata dispatch (project, builder id, build kind) rather than tree/delta building.
Compatibility
The change is a binary-compatible API addition (new int constants plus a default method), so existing listeners are unaffected.
- Lenguaje dominante
- Java
- Estrellas
- 165
- Forks
- 174
- Merge medio
- 3 d 2 h
- PR fusionados (30 d)
- 43
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de eclipse-platform/eclipse.platform
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
eclipse-platform/eclipse.platform#3019 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
eclipse-platform/eclipse.platform#2940 ·
Los mantenedores suelen responder en 1 día
-
Terminal views all show same name 'Terminal' in Ctrl+F7 view switcher popupPosiblemente ocupada @ravnskjaer la tomó hace 8 días. Abiertobug good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
eclipse-platform/eclipse.platform#2774 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
eclipse-platform/eclipse.platform#2593 · 7 comentarios ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
eclipse-platform/eclipse.platform#3027 ·
Los mantenedores suelen responder en 1 día
Todos los issues de eclipse-platform/eclipse.platform
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
apache/rocketmq-dashboard#6896 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
OpenIntegrationEngine/engine#496 ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
SasanLabs/VulnerableApp#836 ·
Los mantenedores suelen responder en 1 día